gemini

package
v8.12.0 Latest Latest
Warning

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

Go to latest
Published: Dec 18, 2024 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 CodeRepositoryIndex

type CodeRepositoryIndex struct {
	pulumi.CustomResourceState

	// Required. Id of the Code Repository Index.
	//
	// ***
	CodeRepositoryIndexId pulumi.StringOutput `pulumi:"codeRepositoryIndexId"`
	// Output only. Create time stamp.
	CreateTime pulumi.StringOutput `pulumi:"createTime"`
	// All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
	EffectiveLabels pulumi.StringMapOutput `pulumi:"effectiveLabels"`
	// Optional. Immutable. Customer-managed encryption key name, in the format
	// projects/*/locations/*/keyRings/*/cryptoKeys/*.
	KmsKey pulumi.StringPtrOutput `pulumi:"kmsKey"`
	// Optional. Labels as key value pairs.
	// **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
	// Please refer to the field `effectiveLabels` for all of the labels present on the resource.
	Labels pulumi.StringMapOutput `pulumi:"labels"`
	// The location of the Code Repository Index, for example `us-central1`.
	Location pulumi.StringOutput `pulumi:"location"`
	// Immutable. Identifier. Name of Code Repository Index.
	Name pulumi.StringOutput `pulumi:"name"`
	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	Project pulumi.StringOutput `pulumi:"project"`
	// The combination of labels configured directly on the resource
	// and default labels configured on the provider.
	PulumiLabels pulumi.StringMapOutput `pulumi:"pulumiLabels"`
	// Output only. Code Repository Index instance State.
	// Possible values:
	// STATE_UNSPECIFIED
	// CREATING
	// ACTIVE
	// DELETING
	// SUSPENDED
	State pulumi.StringOutput `pulumi:"state"`
	// Output only. Update time stamp.
	UpdateTime pulumi.StringOutput `pulumi:"updateTime"`
}

## Example Usage

### Gemini Code Repository Index Basic

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v8/go/gcp/gemini"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := gemini.NewCodeRepositoryIndex(ctx, "example", &gemini.CodeRepositoryIndexArgs{
			Location:              pulumi.String("us-central1"),
			CodeRepositoryIndexId: pulumi.String(""),
			KmsKey:                pulumi.String("projects/projectExample/locations/locationExample/keyRings/keyRingExample/cryptoKeys/cryptoKeyExample"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

CodeRepositoryIndex can be imported using any of these accepted formats:

* `projects/{{project}}/locations/{{location}}/codeRepositoryIndexes/{{code_repository_index_id}}`

* `{{project}}/{{location}}/{{code_repository_index_id}}`

* `{{location}}/{{code_repository_index_id}}`

When using the `pulumi import` command, CodeRepositoryIndex can be imported using one of the formats above. For example:

```sh $ pulumi import gcp:gemini/codeRepositoryIndex:CodeRepositoryIndex default projects/{{project}}/locations/{{location}}/codeRepositoryIndexes/{{code_repository_index_id}} ```

```sh $ pulumi import gcp:gemini/codeRepositoryIndex:CodeRepositoryIndex default {{project}}/{{location}}/{{code_repository_index_id}} ```

```sh $ pulumi import gcp:gemini/codeRepositoryIndex:CodeRepositoryIndex default {{location}}/{{code_repository_index_id}} ```

func GetCodeRepositoryIndex

func GetCodeRepositoryIndex(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *CodeRepositoryIndexState, opts ...pulumi.ResourceOption) (*CodeRepositoryIndex, error)

GetCodeRepositoryIndex gets an existing CodeRepositoryIndex 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 NewCodeRepositoryIndex

func NewCodeRepositoryIndex(ctx *pulumi.Context,
	name string, args *CodeRepositoryIndexArgs, opts ...pulumi.ResourceOption) (*CodeRepositoryIndex, error)

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

func (*CodeRepositoryIndex) ElementType

func (*CodeRepositoryIndex) ElementType() reflect.Type

func (*CodeRepositoryIndex) ToCodeRepositoryIndexOutput

func (i *CodeRepositoryIndex) ToCodeRepositoryIndexOutput() CodeRepositoryIndexOutput

func (*CodeRepositoryIndex) ToCodeRepositoryIndexOutputWithContext

func (i *CodeRepositoryIndex) ToCodeRepositoryIndexOutputWithContext(ctx context.Context) CodeRepositoryIndexOutput

type CodeRepositoryIndexArgs

type CodeRepositoryIndexArgs struct {
	// Required. Id of the Code Repository Index.
	//
	// ***
	CodeRepositoryIndexId pulumi.StringInput
	// Optional. Immutable. Customer-managed encryption key name, in the format
	// projects/*/locations/*/keyRings/*/cryptoKeys/*.
	KmsKey pulumi.StringPtrInput
	// Optional. Labels as key value pairs.
	// **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
	// Please refer to the field `effectiveLabels` for all of the labels present on the resource.
	Labels pulumi.StringMapInput
	// The location of the Code Repository Index, for example `us-central1`.
	Location pulumi.StringInput
	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	Project pulumi.StringPtrInput
}

The set of arguments for constructing a CodeRepositoryIndex resource.

func (CodeRepositoryIndexArgs) ElementType

func (CodeRepositoryIndexArgs) ElementType() reflect.Type

type CodeRepositoryIndexArray

type CodeRepositoryIndexArray []CodeRepositoryIndexInput

func (CodeRepositoryIndexArray) ElementType

func (CodeRepositoryIndexArray) ElementType() reflect.Type

func (CodeRepositoryIndexArray) ToCodeRepositoryIndexArrayOutput

func (i CodeRepositoryIndexArray) ToCodeRepositoryIndexArrayOutput() CodeRepositoryIndexArrayOutput

func (CodeRepositoryIndexArray) ToCodeRepositoryIndexArrayOutputWithContext

func (i CodeRepositoryIndexArray) ToCodeRepositoryIndexArrayOutputWithContext(ctx context.Context) CodeRepositoryIndexArrayOutput

type CodeRepositoryIndexArrayInput

type CodeRepositoryIndexArrayInput interface {
	pulumi.Input

	ToCodeRepositoryIndexArrayOutput() CodeRepositoryIndexArrayOutput
	ToCodeRepositoryIndexArrayOutputWithContext(context.Context) CodeRepositoryIndexArrayOutput
}

CodeRepositoryIndexArrayInput is an input type that accepts CodeRepositoryIndexArray and CodeRepositoryIndexArrayOutput values. You can construct a concrete instance of `CodeRepositoryIndexArrayInput` via:

CodeRepositoryIndexArray{ CodeRepositoryIndexArgs{...} }

type CodeRepositoryIndexArrayOutput

type CodeRepositoryIndexArrayOutput struct{ *pulumi.OutputState }

func (CodeRepositoryIndexArrayOutput) ElementType

func (CodeRepositoryIndexArrayOutput) Index

func (CodeRepositoryIndexArrayOutput) ToCodeRepositoryIndexArrayOutput

func (o CodeRepositoryIndexArrayOutput) ToCodeRepositoryIndexArrayOutput() CodeRepositoryIndexArrayOutput

func (CodeRepositoryIndexArrayOutput) ToCodeRepositoryIndexArrayOutputWithContext

func (o CodeRepositoryIndexArrayOutput) ToCodeRepositoryIndexArrayOutputWithContext(ctx context.Context) CodeRepositoryIndexArrayOutput

type CodeRepositoryIndexInput

type CodeRepositoryIndexInput interface {
	pulumi.Input

	ToCodeRepositoryIndexOutput() CodeRepositoryIndexOutput
	ToCodeRepositoryIndexOutputWithContext(ctx context.Context) CodeRepositoryIndexOutput
}

type CodeRepositoryIndexMap

type CodeRepositoryIndexMap map[string]CodeRepositoryIndexInput

func (CodeRepositoryIndexMap) ElementType

func (CodeRepositoryIndexMap) ElementType() reflect.Type

func (CodeRepositoryIndexMap) ToCodeRepositoryIndexMapOutput

func (i CodeRepositoryIndexMap) ToCodeRepositoryIndexMapOutput() CodeRepositoryIndexMapOutput

func (CodeRepositoryIndexMap) ToCodeRepositoryIndexMapOutputWithContext

func (i CodeRepositoryIndexMap) ToCodeRepositoryIndexMapOutputWithContext(ctx context.Context) CodeRepositoryIndexMapOutput

type CodeRepositoryIndexMapInput

type CodeRepositoryIndexMapInput interface {
	pulumi.Input

	ToCodeRepositoryIndexMapOutput() CodeRepositoryIndexMapOutput
	ToCodeRepositoryIndexMapOutputWithContext(context.Context) CodeRepositoryIndexMapOutput
}

CodeRepositoryIndexMapInput is an input type that accepts CodeRepositoryIndexMap and CodeRepositoryIndexMapOutput values. You can construct a concrete instance of `CodeRepositoryIndexMapInput` via:

CodeRepositoryIndexMap{ "key": CodeRepositoryIndexArgs{...} }

type CodeRepositoryIndexMapOutput

type CodeRepositoryIndexMapOutput struct{ *pulumi.OutputState }

func (CodeRepositoryIndexMapOutput) ElementType

func (CodeRepositoryIndexMapOutput) MapIndex

func (CodeRepositoryIndexMapOutput) ToCodeRepositoryIndexMapOutput

func (o CodeRepositoryIndexMapOutput) ToCodeRepositoryIndexMapOutput() CodeRepositoryIndexMapOutput

func (CodeRepositoryIndexMapOutput) ToCodeRepositoryIndexMapOutputWithContext

func (o CodeRepositoryIndexMapOutput) ToCodeRepositoryIndexMapOutputWithContext(ctx context.Context) CodeRepositoryIndexMapOutput

type CodeRepositoryIndexOutput

type CodeRepositoryIndexOutput struct{ *pulumi.OutputState }

func (CodeRepositoryIndexOutput) CodeRepositoryIndexId

func (o CodeRepositoryIndexOutput) CodeRepositoryIndexId() pulumi.StringOutput

Required. Id of the Code Repository Index.

***

func (CodeRepositoryIndexOutput) CreateTime

Output only. Create time stamp.

func (CodeRepositoryIndexOutput) EffectiveLabels

func (o CodeRepositoryIndexOutput) EffectiveLabels() pulumi.StringMapOutput

All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.

func (CodeRepositoryIndexOutput) ElementType

func (CodeRepositoryIndexOutput) ElementType() reflect.Type

func (CodeRepositoryIndexOutput) KmsKey

Optional. Immutable. Customer-managed encryption key name, in the format projects/*/locations/*/keyRings/*/cryptoKeys/*.

func (CodeRepositoryIndexOutput) Labels

Optional. Labels as key value pairs. **Note**: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field `effectiveLabels` for all of the labels present on the resource.

func (CodeRepositoryIndexOutput) Location

The location of the Code Repository Index, for example `us-central1`.

func (CodeRepositoryIndexOutput) Name

Immutable. Identifier. Name of Code Repository Index.

func (CodeRepositoryIndexOutput) Project

The ID of the project in which the resource belongs. If it is not provided, the provider project is used.

func (CodeRepositoryIndexOutput) PulumiLabels

The combination of labels configured directly on the resource and default labels configured on the provider.

func (CodeRepositoryIndexOutput) State

Output only. Code Repository Index instance State. Possible values: STATE_UNSPECIFIED CREATING ACTIVE DELETING SUSPENDED

func (CodeRepositoryIndexOutput) ToCodeRepositoryIndexOutput

func (o CodeRepositoryIndexOutput) ToCodeRepositoryIndexOutput() CodeRepositoryIndexOutput

func (CodeRepositoryIndexOutput) ToCodeRepositoryIndexOutputWithContext

func (o CodeRepositoryIndexOutput) ToCodeRepositoryIndexOutputWithContext(ctx context.Context) CodeRepositoryIndexOutput

func (CodeRepositoryIndexOutput) UpdateTime

Output only. Update time stamp.

type CodeRepositoryIndexState

type CodeRepositoryIndexState struct {
	// Required. Id of the Code Repository Index.
	//
	// ***
	CodeRepositoryIndexId pulumi.StringPtrInput
	// Output only. Create time stamp.
	CreateTime pulumi.StringPtrInput
	// All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
	EffectiveLabels pulumi.StringMapInput
	// Optional. Immutable. Customer-managed encryption key name, in the format
	// projects/*/locations/*/keyRings/*/cryptoKeys/*.
	KmsKey pulumi.StringPtrInput
	// Optional. Labels as key value pairs.
	// **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
	// Please refer to the field `effectiveLabels` for all of the labels present on the resource.
	Labels pulumi.StringMapInput
	// The location of the Code Repository Index, for example `us-central1`.
	Location pulumi.StringPtrInput
	// Immutable. Identifier. Name of Code Repository Index.
	Name pulumi.StringPtrInput
	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	Project pulumi.StringPtrInput
	// The combination of labels configured directly on the resource
	// and default labels configured on the provider.
	PulumiLabels pulumi.StringMapInput
	// Output only. Code Repository Index instance State.
	// Possible values:
	// STATE_UNSPECIFIED
	// CREATING
	// ACTIVE
	// DELETING
	// SUSPENDED
	State pulumi.StringPtrInput
	// Output only. Update time stamp.
	UpdateTime pulumi.StringPtrInput
}

func (CodeRepositoryIndexState) ElementType

func (CodeRepositoryIndexState) ElementType() reflect.Type

type LookupRepositoryGroupIamPolicyArgs

type LookupRepositoryGroupIamPolicyArgs struct {
	CodeRepositoryIndex string `pulumi:"codeRepositoryIndex"`
	// The location of the Code Repository Index, for example `us-central1`. Used to find the parent resource to bind the IAM policy to. If not specified,
	// the value will be parsed from the identifier of the parent resource. If no location is provided in the parent identifier and no
	// location is specified, it is taken from the provider configuration.
	Location *string `pulumi:"location"`
	// The ID of the project in which the resource belongs.
	// If it is not provided, the project will be parsed from the identifier of the parent resource. If no project is provided in the parent identifier and no project is specified, the provider project is used.
	Project           *string `pulumi:"project"`
	RepositoryGroupId string  `pulumi:"repositoryGroupId"`
}

A collection of arguments for invoking getRepositoryGroupIamPolicy.

type LookupRepositoryGroupIamPolicyOutputArgs

type LookupRepositoryGroupIamPolicyOutputArgs struct {
	CodeRepositoryIndex pulumi.StringInput `pulumi:"codeRepositoryIndex"`
	// The location of the Code Repository Index, for example `us-central1`. Used to find the parent resource to bind the IAM policy to. If not specified,
	// the value will be parsed from the identifier of the parent resource. If no location is provided in the parent identifier and no
	// location is specified, it is taken from the provider configuration.
	Location pulumi.StringPtrInput `pulumi:"location"`
	// The ID of the project in which the resource belongs.
	// If it is not provided, the project will be parsed from the identifier of the parent resource. If no project is provided in the parent identifier and no project is specified, the provider project is used.
	Project           pulumi.StringPtrInput `pulumi:"project"`
	RepositoryGroupId pulumi.StringInput    `pulumi:"repositoryGroupId"`
}

A collection of arguments for invoking getRepositoryGroupIamPolicy.

func (LookupRepositoryGroupIamPolicyOutputArgs) ElementType

type LookupRepositoryGroupIamPolicyResult

type LookupRepositoryGroupIamPolicyResult struct {
	CodeRepositoryIndex string `pulumi:"codeRepositoryIndex"`
	// (Computed) The etag of the IAM policy.
	Etag string `pulumi:"etag"`
	// The provider-assigned unique ID for this managed resource.
	Id       string `pulumi:"id"`
	Location string `pulumi:"location"`
	// (Required only by `gemini.RepositoryGroupIamPolicy`) The policy data generated by
	// a `organizations.getIAMPolicy` data source.
	PolicyData        string `pulumi:"policyData"`
	Project           string `pulumi:"project"`
	RepositoryGroupId string `pulumi:"repositoryGroupId"`
}

A collection of values returned by getRepositoryGroupIamPolicy.

type LookupRepositoryGroupIamPolicyResultOutput

type LookupRepositoryGroupIamPolicyResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getRepositoryGroupIamPolicy.

func (LookupRepositoryGroupIamPolicyResultOutput) CodeRepositoryIndex

func (LookupRepositoryGroupIamPolicyResultOutput) ElementType

func (LookupRepositoryGroupIamPolicyResultOutput) Etag

(Computed) The etag of the IAM policy.

func (LookupRepositoryGroupIamPolicyResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (LookupRepositoryGroupIamPolicyResultOutput) Location

func (LookupRepositoryGroupIamPolicyResultOutput) PolicyData

(Required only by `gemini.RepositoryGroupIamPolicy`) The policy data generated by a `organizations.getIAMPolicy` data source.

func (LookupRepositoryGroupIamPolicyResultOutput) Project

func (LookupRepositoryGroupIamPolicyResultOutput) RepositoryGroupId

func (LookupRepositoryGroupIamPolicyResultOutput) ToLookupRepositoryGroupIamPolicyResultOutput

func (o LookupRepositoryGroupIamPolicyResultOutput) ToLookupRepositoryGroupIamPolicyResultOutput() LookupRepositoryGroupIamPolicyResultOutput

func (LookupRepositoryGroupIamPolicyResultOutput) ToLookupRepositoryGroupIamPolicyResultOutputWithContext

func (o LookupRepositoryGroupIamPolicyResultOutput) ToLookupRepositoryGroupIamPolicyResultOutputWithContext(ctx context.Context) LookupRepositoryGroupIamPolicyResultOutput

type RepositoryGroup

type RepositoryGroup struct {
	pulumi.CustomResourceState

	// Required. Id of the Code Repository Index.
	CodeRepositoryIndex pulumi.StringOutput `pulumi:"codeRepositoryIndex"`
	// Output only. Create time stamp
	CreateTime pulumi.StringOutput `pulumi:"createTime"`
	// All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
	EffectiveLabels pulumi.StringMapOutput `pulumi:"effectiveLabels"`
	// Optional. Labels as key value pairs **Note**: This field is non-authoritative, and will only manage the labels present
	// in your configuration. Please refer to the field 'effective_labels' for all of the labels present on the resource.
	Labels pulumi.StringMapOutput `pulumi:"labels"`
	// The location of the Code Repository Index, for example `us-central1`.
	Location pulumi.StringOutput `pulumi:"location"`
	// Immutable. Identifier. name of resource
	Name    pulumi.StringOutput `pulumi:"name"`
	Project pulumi.StringOutput `pulumi:"project"`
	// The combination of labels configured directly on the resource
	// and default labels configured on the provider.
	PulumiLabels pulumi.StringMapOutput `pulumi:"pulumiLabels"`
	// Required. List of repositories to group
	// Structure is documented below.
	Repositories RepositoryGroupRepositoryArrayOutput `pulumi:"repositories"`
	// Required. Id of the Repository Group.
	RepositoryGroupId pulumi.StringOutput `pulumi:"repositoryGroupId"`
	// Output only. Update time stamp
	UpdateTime pulumi.StringOutput `pulumi:"updateTime"`
}

## Example Usage

## Import

RepositoryGroup can be imported using any of these accepted formats:

* `projects/{{project}}/locations/{{location}}/codeRepositoryIndexes/{{code_repository_index}}/repositoryGroups/{{repository_group_id}}`

* `{{project}}/{{location}}/{{code_repository_index}}/{{repository_group_id}}`

* `{{location}}/{{code_repository_index}}/{{repository_group_id}}`

When using the `pulumi import` command, RepositoryGroup can be imported using one of the formats above. For example:

```sh $ pulumi import gcp:gemini/repositoryGroup:RepositoryGroup default projects/{{project}}/locations/{{location}}/codeRepositoryIndexes/{{code_repository_index}}/repositoryGroups/{{repository_group_id}} ```

```sh $ pulumi import gcp:gemini/repositoryGroup:RepositoryGroup default {{project}}/{{location}}/{{code_repository_index}}/{{repository_group_id}} ```

```sh $ pulumi import gcp:gemini/repositoryGroup:RepositoryGroup default {{location}}/{{code_repository_index}}/{{repository_group_id}} ```

func GetRepositoryGroup

func GetRepositoryGroup(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *RepositoryGroupState, opts ...pulumi.ResourceOption) (*RepositoryGroup, error)

GetRepositoryGroup gets an existing RepositoryGroup 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 NewRepositoryGroup

func NewRepositoryGroup(ctx *pulumi.Context,
	name string, args *RepositoryGroupArgs, opts ...pulumi.ResourceOption) (*RepositoryGroup, error)

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

func (*RepositoryGroup) ElementType

func (*RepositoryGroup) ElementType() reflect.Type

func (*RepositoryGroup) ToRepositoryGroupOutput

func (i *RepositoryGroup) ToRepositoryGroupOutput() RepositoryGroupOutput

func (*RepositoryGroup) ToRepositoryGroupOutputWithContext

func (i *RepositoryGroup) ToRepositoryGroupOutputWithContext(ctx context.Context) RepositoryGroupOutput

type RepositoryGroupArgs

type RepositoryGroupArgs struct {
	// Required. Id of the Code Repository Index.
	CodeRepositoryIndex pulumi.StringInput
	// Optional. Labels as key value pairs **Note**: This field is non-authoritative, and will only manage the labels present
	// in your configuration. Please refer to the field 'effective_labels' for all of the labels present on the resource.
	Labels pulumi.StringMapInput
	// The location of the Code Repository Index, for example `us-central1`.
	Location pulumi.StringInput
	Project  pulumi.StringPtrInput
	// Required. List of repositories to group
	// Structure is documented below.
	Repositories RepositoryGroupRepositoryArrayInput
	// Required. Id of the Repository Group.
	RepositoryGroupId pulumi.StringInput
}

The set of arguments for constructing a RepositoryGroup resource.

func (RepositoryGroupArgs) ElementType

func (RepositoryGroupArgs) ElementType() reflect.Type

type RepositoryGroupArray

type RepositoryGroupArray []RepositoryGroupInput

func (RepositoryGroupArray) ElementType

func (RepositoryGroupArray) ElementType() reflect.Type

func (RepositoryGroupArray) ToRepositoryGroupArrayOutput

func (i RepositoryGroupArray) ToRepositoryGroupArrayOutput() RepositoryGroupArrayOutput

func (RepositoryGroupArray) ToRepositoryGroupArrayOutputWithContext

func (i RepositoryGroupArray) ToRepositoryGroupArrayOutputWithContext(ctx context.Context) RepositoryGroupArrayOutput

type RepositoryGroupArrayInput

type RepositoryGroupArrayInput interface {
	pulumi.Input

	ToRepositoryGroupArrayOutput() RepositoryGroupArrayOutput
	ToRepositoryGroupArrayOutputWithContext(context.Context) RepositoryGroupArrayOutput
}

RepositoryGroupArrayInput is an input type that accepts RepositoryGroupArray and RepositoryGroupArrayOutput values. You can construct a concrete instance of `RepositoryGroupArrayInput` via:

RepositoryGroupArray{ RepositoryGroupArgs{...} }

type RepositoryGroupArrayOutput

type RepositoryGroupArrayOutput struct{ *pulumi.OutputState }

func (RepositoryGroupArrayOutput) ElementType

func (RepositoryGroupArrayOutput) ElementType() reflect.Type

func (RepositoryGroupArrayOutput) Index

func (RepositoryGroupArrayOutput) ToRepositoryGroupArrayOutput

func (o RepositoryGroupArrayOutput) ToRepositoryGroupArrayOutput() RepositoryGroupArrayOutput

func (RepositoryGroupArrayOutput) ToRepositoryGroupArrayOutputWithContext

func (o RepositoryGroupArrayOutput) ToRepositoryGroupArrayOutputWithContext(ctx context.Context) RepositoryGroupArrayOutput

type RepositoryGroupIamBinding

type RepositoryGroupIamBinding struct {
	pulumi.CustomResourceState

	CodeRepositoryIndex pulumi.StringOutput                         `pulumi:"codeRepositoryIndex"`
	Condition           RepositoryGroupIamBindingConditionPtrOutput `pulumi:"condition"`
	// (Computed) The etag of the IAM policy.
	Etag pulumi.StringOutput `pulumi:"etag"`
	// The location of the Code Repository Index, for example `us-central1`. Used to find the parent resource to bind the IAM policy to. If not specified,
	// the value will be parsed from the identifier of the parent resource. If no location is provided in the parent identifier and no
	// location is specified, it is taken from the provider configuration.
	Location pulumi.StringOutput `pulumi:"location"`
	// Identities that will be granted the privilege in `role`.
	// Each entry can have one of the following values:
	// * **allUsers**: A special identifier that represents anyone who is on the internet; with or without a Google account.
	// * **allAuthenticatedUsers**: A special identifier that represents anyone who is authenticated with a Google account or a service account.
	// * **user:{emailid}**: An email address that represents a specific Google account. For example, alice@gmail.com or joe@example.com.
	// * **serviceAccount:{emailid}**: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com.
	// * **group:{emailid}**: An email address that represents a Google group. For example, admins@example.com.
	// * **domain:{domain}**: A G Suite domain (primary, instead of alias) name that represents all the users of that domain. For example, google.com or example.com.
	// * **projectOwner:projectid**: Owners of the given project. For example, "projectOwner:my-example-project"
	// * **projectEditor:projectid**: Editors of the given project. For example, "projectEditor:my-example-project"
	// * **projectViewer:projectid**: Viewers of the given project. For example, "projectViewer:my-example-project"
	Members pulumi.StringArrayOutput `pulumi:"members"`
	// The ID of the project in which the resource belongs.
	// If it is not provided, the project will be parsed from the identifier of the parent resource. If no project is provided in the parent identifier and no project is specified, the provider project is used.
	Project           pulumi.StringOutput `pulumi:"project"`
	RepositoryGroupId pulumi.StringOutput `pulumi:"repositoryGroupId"`
	// The role that should be applied. Only one
	// `gemini.RepositoryGroupIamBinding` can be used per role. Note that custom roles must be of the format
	// `[projects|organizations]/{parent-name}/roles/{role-name}`.
	Role pulumi.StringOutput `pulumi:"role"`
}

## Import

For all import syntaxes, the "resource in question" can take any of the following forms:

* projects/{{project}}/locations/{{location}}/codeRepositoryIndexes/{{code_repository_index}}/repositoryGroups/{{repository_group_id}}

* {{project}}/{{location}}/{{code_repository_index}}/{{repository_group_id}}

* {{location}}/{{code_repository_index}}/{{repository_group_id}}

* {{repository_group_id}}

Any variables not passed in the import command will be taken from the provider configuration.

Gemini for Google Cloud repositorygroup IAM resources can be imported using the resource identifiers, role, and member.

IAM member imports use space-delimited identifiers: the resource in question, the role, and the member identity, e.g.

```sh $ pulumi import gcp:gemini/repositoryGroupIamBinding:RepositoryGroupIamBinding editor "projects/{{project}}/locations/{{location}}/codeRepositoryIndexes/{{code_repository_index}}/repositoryGroups/{{repository_group_id}} roles/cloudaicompanion.repositoryGroupsUser user:jane@example.com" ```

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

```sh $ pulumi import gcp:gemini/repositoryGroupIamBinding:RepositoryGroupIamBinding editor "projects/{{project}}/locations/{{location}}/codeRepositoryIndexes/{{code_repository_index}}/repositoryGroups/{{repository_group_id}} roles/cloudaicompanion.repositoryGroupsUser" ```

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

```sh $ pulumi import gcp:gemini/repositoryGroupIamBinding:RepositoryGroupIamBinding editor projects/{{project}}/locations/{{location}}/codeRepositoryIndexes/{{code_repository_index}}/repositoryGroups/{{repository_group_id}} ```

-> **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 GetRepositoryGroupIamBinding

func GetRepositoryGroupIamBinding(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *RepositoryGroupIamBindingState, opts ...pulumi.ResourceOption) (*RepositoryGroupIamBinding, error)

GetRepositoryGroupIamBinding gets an existing RepositoryGroupIamBinding 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 NewRepositoryGroupIamBinding

func NewRepositoryGroupIamBinding(ctx *pulumi.Context,
	name string, args *RepositoryGroupIamBindingArgs, opts ...pulumi.ResourceOption) (*RepositoryGroupIamBinding, error)

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

func (*RepositoryGroupIamBinding) ElementType

func (*RepositoryGroupIamBinding) ElementType() reflect.Type

func (*RepositoryGroupIamBinding) ToRepositoryGroupIamBindingOutput

func (i *RepositoryGroupIamBinding) ToRepositoryGroupIamBindingOutput() RepositoryGroupIamBindingOutput

func (*RepositoryGroupIamBinding) ToRepositoryGroupIamBindingOutputWithContext

func (i *RepositoryGroupIamBinding) ToRepositoryGroupIamBindingOutputWithContext(ctx context.Context) RepositoryGroupIamBindingOutput

type RepositoryGroupIamBindingArgs

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

func (RepositoryGroupIamBindingArgs) ElementType

type RepositoryGroupIamBindingArray

type RepositoryGroupIamBindingArray []RepositoryGroupIamBindingInput

func (RepositoryGroupIamBindingArray) ElementType

func (RepositoryGroupIamBindingArray) ToRepositoryGroupIamBindingArrayOutput

func (i RepositoryGroupIamBindingArray) ToRepositoryGroupIamBindingArrayOutput() RepositoryGroupIamBindingArrayOutput

func (RepositoryGroupIamBindingArray) ToRepositoryGroupIamBindingArrayOutputWithContext

func (i RepositoryGroupIamBindingArray) ToRepositoryGroupIamBindingArrayOutputWithContext(ctx context.Context) RepositoryGroupIamBindingArrayOutput

type RepositoryGroupIamBindingArrayInput

type RepositoryGroupIamBindingArrayInput interface {
	pulumi.Input

	ToRepositoryGroupIamBindingArrayOutput() RepositoryGroupIamBindingArrayOutput
	ToRepositoryGroupIamBindingArrayOutputWithContext(context.Context) RepositoryGroupIamBindingArrayOutput
}

RepositoryGroupIamBindingArrayInput is an input type that accepts RepositoryGroupIamBindingArray and RepositoryGroupIamBindingArrayOutput values. You can construct a concrete instance of `RepositoryGroupIamBindingArrayInput` via:

RepositoryGroupIamBindingArray{ RepositoryGroupIamBindingArgs{...} }

type RepositoryGroupIamBindingArrayOutput

type RepositoryGroupIamBindingArrayOutput struct{ *pulumi.OutputState }

func (RepositoryGroupIamBindingArrayOutput) ElementType

func (RepositoryGroupIamBindingArrayOutput) Index

func (RepositoryGroupIamBindingArrayOutput) ToRepositoryGroupIamBindingArrayOutput

func (o RepositoryGroupIamBindingArrayOutput) ToRepositoryGroupIamBindingArrayOutput() RepositoryGroupIamBindingArrayOutput

func (RepositoryGroupIamBindingArrayOutput) ToRepositoryGroupIamBindingArrayOutputWithContext

func (o RepositoryGroupIamBindingArrayOutput) ToRepositoryGroupIamBindingArrayOutputWithContext(ctx context.Context) RepositoryGroupIamBindingArrayOutput

type RepositoryGroupIamBindingCondition

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

type RepositoryGroupIamBindingConditionArgs

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

func (RepositoryGroupIamBindingConditionArgs) ElementType

func (RepositoryGroupIamBindingConditionArgs) ToRepositoryGroupIamBindingConditionOutput

func (i RepositoryGroupIamBindingConditionArgs) ToRepositoryGroupIamBindingConditionOutput() RepositoryGroupIamBindingConditionOutput

func (RepositoryGroupIamBindingConditionArgs) ToRepositoryGroupIamBindingConditionOutputWithContext

func (i RepositoryGroupIamBindingConditionArgs) ToRepositoryGroupIamBindingConditionOutputWithContext(ctx context.Context) RepositoryGroupIamBindingConditionOutput

func (RepositoryGroupIamBindingConditionArgs) ToRepositoryGroupIamBindingConditionPtrOutput

func (i RepositoryGroupIamBindingConditionArgs) ToRepositoryGroupIamBindingConditionPtrOutput() RepositoryGroupIamBindingConditionPtrOutput

func (RepositoryGroupIamBindingConditionArgs) ToRepositoryGroupIamBindingConditionPtrOutputWithContext

func (i RepositoryGroupIamBindingConditionArgs) ToRepositoryGroupIamBindingConditionPtrOutputWithContext(ctx context.Context) RepositoryGroupIamBindingConditionPtrOutput

type RepositoryGroupIamBindingConditionInput

type RepositoryGroupIamBindingConditionInput interface {
	pulumi.Input

	ToRepositoryGroupIamBindingConditionOutput() RepositoryGroupIamBindingConditionOutput
	ToRepositoryGroupIamBindingConditionOutputWithContext(context.Context) RepositoryGroupIamBindingConditionOutput
}

RepositoryGroupIamBindingConditionInput is an input type that accepts RepositoryGroupIamBindingConditionArgs and RepositoryGroupIamBindingConditionOutput values. You can construct a concrete instance of `RepositoryGroupIamBindingConditionInput` via:

RepositoryGroupIamBindingConditionArgs{...}

type RepositoryGroupIamBindingConditionOutput

type RepositoryGroupIamBindingConditionOutput struct{ *pulumi.OutputState }

func (RepositoryGroupIamBindingConditionOutput) Description

func (RepositoryGroupIamBindingConditionOutput) ElementType

func (RepositoryGroupIamBindingConditionOutput) Expression

func (RepositoryGroupIamBindingConditionOutput) Title

func (RepositoryGroupIamBindingConditionOutput) ToRepositoryGroupIamBindingConditionOutput

func (o RepositoryGroupIamBindingConditionOutput) ToRepositoryGroupIamBindingConditionOutput() RepositoryGroupIamBindingConditionOutput

func (RepositoryGroupIamBindingConditionOutput) ToRepositoryGroupIamBindingConditionOutputWithContext

func (o RepositoryGroupIamBindingConditionOutput) ToRepositoryGroupIamBindingConditionOutputWithContext(ctx context.Context) RepositoryGroupIamBindingConditionOutput

func (RepositoryGroupIamBindingConditionOutput) ToRepositoryGroupIamBindingConditionPtrOutput

func (o RepositoryGroupIamBindingConditionOutput) ToRepositoryGroupIamBindingConditionPtrOutput() RepositoryGroupIamBindingConditionPtrOutput

func (RepositoryGroupIamBindingConditionOutput) ToRepositoryGroupIamBindingConditionPtrOutputWithContext

func (o RepositoryGroupIamBindingConditionOutput) ToRepositoryGroupIamBindingConditionPtrOutputWithContext(ctx context.Context) RepositoryGroupIamBindingConditionPtrOutput

type RepositoryGroupIamBindingConditionPtrInput

type RepositoryGroupIamBindingConditionPtrInput interface {
	pulumi.Input

	ToRepositoryGroupIamBindingConditionPtrOutput() RepositoryGroupIamBindingConditionPtrOutput
	ToRepositoryGroupIamBindingConditionPtrOutputWithContext(context.Context) RepositoryGroupIamBindingConditionPtrOutput
}

RepositoryGroupIamBindingConditionPtrInput is an input type that accepts RepositoryGroupIamBindingConditionArgs, RepositoryGroupIamBindingConditionPtr and RepositoryGroupIamBindingConditionPtrOutput values. You can construct a concrete instance of `RepositoryGroupIamBindingConditionPtrInput` via:

        RepositoryGroupIamBindingConditionArgs{...}

or:

        nil

type RepositoryGroupIamBindingConditionPtrOutput

type RepositoryGroupIamBindingConditionPtrOutput struct{ *pulumi.OutputState }

func (RepositoryGroupIamBindingConditionPtrOutput) Description

func (RepositoryGroupIamBindingConditionPtrOutput) Elem

func (RepositoryGroupIamBindingConditionPtrOutput) ElementType

func (RepositoryGroupIamBindingConditionPtrOutput) Expression

func (RepositoryGroupIamBindingConditionPtrOutput) Title

func (RepositoryGroupIamBindingConditionPtrOutput) ToRepositoryGroupIamBindingConditionPtrOutput

func (o RepositoryGroupIamBindingConditionPtrOutput) ToRepositoryGroupIamBindingConditionPtrOutput() RepositoryGroupIamBindingConditionPtrOutput

func (RepositoryGroupIamBindingConditionPtrOutput) ToRepositoryGroupIamBindingConditionPtrOutputWithContext

func (o RepositoryGroupIamBindingConditionPtrOutput) ToRepositoryGroupIamBindingConditionPtrOutputWithContext(ctx context.Context) RepositoryGroupIamBindingConditionPtrOutput

type RepositoryGroupIamBindingInput

type RepositoryGroupIamBindingInput interface {
	pulumi.Input

	ToRepositoryGroupIamBindingOutput() RepositoryGroupIamBindingOutput
	ToRepositoryGroupIamBindingOutputWithContext(ctx context.Context) RepositoryGroupIamBindingOutput
}

type RepositoryGroupIamBindingMap

type RepositoryGroupIamBindingMap map[string]RepositoryGroupIamBindingInput

func (RepositoryGroupIamBindingMap) ElementType

func (RepositoryGroupIamBindingMap) ToRepositoryGroupIamBindingMapOutput

func (i RepositoryGroupIamBindingMap) ToRepositoryGroupIamBindingMapOutput() RepositoryGroupIamBindingMapOutput

func (RepositoryGroupIamBindingMap) ToRepositoryGroupIamBindingMapOutputWithContext

func (i RepositoryGroupIamBindingMap) ToRepositoryGroupIamBindingMapOutputWithContext(ctx context.Context) RepositoryGroupIamBindingMapOutput

type RepositoryGroupIamBindingMapInput

type RepositoryGroupIamBindingMapInput interface {
	pulumi.Input

	ToRepositoryGroupIamBindingMapOutput() RepositoryGroupIamBindingMapOutput
	ToRepositoryGroupIamBindingMapOutputWithContext(context.Context) RepositoryGroupIamBindingMapOutput
}

RepositoryGroupIamBindingMapInput is an input type that accepts RepositoryGroupIamBindingMap and RepositoryGroupIamBindingMapOutput values. You can construct a concrete instance of `RepositoryGroupIamBindingMapInput` via:

RepositoryGroupIamBindingMap{ "key": RepositoryGroupIamBindingArgs{...} }

type RepositoryGroupIamBindingMapOutput

type RepositoryGroupIamBindingMapOutput struct{ *pulumi.OutputState }

func (RepositoryGroupIamBindingMapOutput) ElementType

func (RepositoryGroupIamBindingMapOutput) MapIndex

func (RepositoryGroupIamBindingMapOutput) ToRepositoryGroupIamBindingMapOutput

func (o RepositoryGroupIamBindingMapOutput) ToRepositoryGroupIamBindingMapOutput() RepositoryGroupIamBindingMapOutput

func (RepositoryGroupIamBindingMapOutput) ToRepositoryGroupIamBindingMapOutputWithContext

func (o RepositoryGroupIamBindingMapOutput) ToRepositoryGroupIamBindingMapOutputWithContext(ctx context.Context) RepositoryGroupIamBindingMapOutput

type RepositoryGroupIamBindingOutput

type RepositoryGroupIamBindingOutput struct{ *pulumi.OutputState }

func (RepositoryGroupIamBindingOutput) CodeRepositoryIndex

func (o RepositoryGroupIamBindingOutput) CodeRepositoryIndex() pulumi.StringOutput

func (RepositoryGroupIamBindingOutput) Condition

func (RepositoryGroupIamBindingOutput) ElementType

func (RepositoryGroupIamBindingOutput) Etag

(Computed) The etag of the IAM policy.

func (RepositoryGroupIamBindingOutput) Location

The location of the Code Repository Index, for example `us-central1`. Used to find the parent resource to bind the IAM policy to. If not specified, the value will be parsed from the identifier of the parent resource. If no location is provided in the parent identifier and no location is specified, it is taken from the provider configuration.

func (RepositoryGroupIamBindingOutput) Members

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

func (RepositoryGroupIamBindingOutput) Project

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

func (RepositoryGroupIamBindingOutput) RepositoryGroupId

func (o RepositoryGroupIamBindingOutput) RepositoryGroupId() pulumi.StringOutput

func (RepositoryGroupIamBindingOutput) Role

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

func (RepositoryGroupIamBindingOutput) ToRepositoryGroupIamBindingOutput

func (o RepositoryGroupIamBindingOutput) ToRepositoryGroupIamBindingOutput() RepositoryGroupIamBindingOutput

func (RepositoryGroupIamBindingOutput) ToRepositoryGroupIamBindingOutputWithContext

func (o RepositoryGroupIamBindingOutput) ToRepositoryGroupIamBindingOutputWithContext(ctx context.Context) RepositoryGroupIamBindingOutput

type RepositoryGroupIamBindingState

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

type RepositoryGroupIamMember

type RepositoryGroupIamMember struct {
	pulumi.CustomResourceState

	CodeRepositoryIndex pulumi.StringOutput                        `pulumi:"codeRepositoryIndex"`
	Condition           RepositoryGroupIamMemberConditionPtrOutput `pulumi:"condition"`
	// (Computed) The etag of the IAM policy.
	Etag pulumi.StringOutput `pulumi:"etag"`
	// The location of the Code Repository Index, for example `us-central1`. Used to find the parent resource to bind the IAM policy to. If not specified,
	// the value will be parsed from the identifier of the parent resource. If no location is provided in the parent identifier and no
	// location is specified, it is taken from the provider configuration.
	Location pulumi.StringOutput `pulumi:"location"`
	// Identities that will be granted the privilege in `role`.
	// Each entry can have one of the following values:
	// * **allUsers**: A special identifier that represents anyone who is on the internet; with or without a Google account.
	// * **allAuthenticatedUsers**: A special identifier that represents anyone who is authenticated with a Google account or a service account.
	// * **user:{emailid}**: An email address that represents a specific Google account. For example, alice@gmail.com or joe@example.com.
	// * **serviceAccount:{emailid}**: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com.
	// * **group:{emailid}**: An email address that represents a Google group. For example, admins@example.com.
	// * **domain:{domain}**: A G Suite domain (primary, instead of alias) name that represents all the users of that domain. For example, google.com or example.com.
	// * **projectOwner:projectid**: Owners of the given project. For example, "projectOwner:my-example-project"
	// * **projectEditor:projectid**: Editors of the given project. For example, "projectEditor:my-example-project"
	// * **projectViewer:projectid**: Viewers of the given project. For example, "projectViewer:my-example-project"
	Member pulumi.StringOutput `pulumi:"member"`
	// The ID of the project in which the resource belongs.
	// If it is not provided, the project will be parsed from the identifier of the parent resource. If no project is provided in the parent identifier and no project is specified, the provider project is used.
	Project           pulumi.StringOutput `pulumi:"project"`
	RepositoryGroupId pulumi.StringOutput `pulumi:"repositoryGroupId"`
	// The role that should be applied. Only one
	// `gemini.RepositoryGroupIamBinding` can be used per role. Note that custom roles must be of the format
	// `[projects|organizations]/{parent-name}/roles/{role-name}`.
	Role pulumi.StringOutput `pulumi:"role"`
}

## Import

For all import syntaxes, the "resource in question" can take any of the following forms:

* projects/{{project}}/locations/{{location}}/codeRepositoryIndexes/{{code_repository_index}}/repositoryGroups/{{repository_group_id}}

* {{project}}/{{location}}/{{code_repository_index}}/{{repository_group_id}}

* {{location}}/{{code_repository_index}}/{{repository_group_id}}

* {{repository_group_id}}

Any variables not passed in the import command will be taken from the provider configuration.

Gemini for Google Cloud repositorygroup IAM resources can be imported using the resource identifiers, role, and member.

IAM member imports use space-delimited identifiers: the resource in question, the role, and the member identity, e.g.

```sh $ pulumi import gcp:gemini/repositoryGroupIamMember:RepositoryGroupIamMember editor "projects/{{project}}/locations/{{location}}/codeRepositoryIndexes/{{code_repository_index}}/repositoryGroups/{{repository_group_id}} roles/cloudaicompanion.repositoryGroupsUser user:jane@example.com" ```

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

```sh $ pulumi import gcp:gemini/repositoryGroupIamMember:RepositoryGroupIamMember editor "projects/{{project}}/locations/{{location}}/codeRepositoryIndexes/{{code_repository_index}}/repositoryGroups/{{repository_group_id}} roles/cloudaicompanion.repositoryGroupsUser" ```

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

```sh $ pulumi import gcp:gemini/repositoryGroupIamMember:RepositoryGroupIamMember editor projects/{{project}}/locations/{{location}}/codeRepositoryIndexes/{{code_repository_index}}/repositoryGroups/{{repository_group_id}} ```

-> **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 GetRepositoryGroupIamMember

func GetRepositoryGroupIamMember(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *RepositoryGroupIamMemberState, opts ...pulumi.ResourceOption) (*RepositoryGroupIamMember, error)

GetRepositoryGroupIamMember gets an existing RepositoryGroupIamMember 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 NewRepositoryGroupIamMember

func NewRepositoryGroupIamMember(ctx *pulumi.Context,
	name string, args *RepositoryGroupIamMemberArgs, opts ...pulumi.ResourceOption) (*RepositoryGroupIamMember, error)

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

func (*RepositoryGroupIamMember) ElementType

func (*RepositoryGroupIamMember) ElementType() reflect.Type

func (*RepositoryGroupIamMember) ToRepositoryGroupIamMemberOutput

func (i *RepositoryGroupIamMember) ToRepositoryGroupIamMemberOutput() RepositoryGroupIamMemberOutput

func (*RepositoryGroupIamMember) ToRepositoryGroupIamMemberOutputWithContext

func (i *RepositoryGroupIamMember) ToRepositoryGroupIamMemberOutputWithContext(ctx context.Context) RepositoryGroupIamMemberOutput

type RepositoryGroupIamMemberArgs

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

func (RepositoryGroupIamMemberArgs) ElementType

type RepositoryGroupIamMemberArray

type RepositoryGroupIamMemberArray []RepositoryGroupIamMemberInput

func (RepositoryGroupIamMemberArray) ElementType

func (RepositoryGroupIamMemberArray) ToRepositoryGroupIamMemberArrayOutput

func (i RepositoryGroupIamMemberArray) ToRepositoryGroupIamMemberArrayOutput() RepositoryGroupIamMemberArrayOutput

func (RepositoryGroupIamMemberArray) ToRepositoryGroupIamMemberArrayOutputWithContext

func (i RepositoryGroupIamMemberArray) ToRepositoryGroupIamMemberArrayOutputWithContext(ctx context.Context) RepositoryGroupIamMemberArrayOutput

type RepositoryGroupIamMemberArrayInput

type RepositoryGroupIamMemberArrayInput interface {
	pulumi.Input

	ToRepositoryGroupIamMemberArrayOutput() RepositoryGroupIamMemberArrayOutput
	ToRepositoryGroupIamMemberArrayOutputWithContext(context.Context) RepositoryGroupIamMemberArrayOutput
}

RepositoryGroupIamMemberArrayInput is an input type that accepts RepositoryGroupIamMemberArray and RepositoryGroupIamMemberArrayOutput values. You can construct a concrete instance of `RepositoryGroupIamMemberArrayInput` via:

RepositoryGroupIamMemberArray{ RepositoryGroupIamMemberArgs{...} }

type RepositoryGroupIamMemberArrayOutput

type RepositoryGroupIamMemberArrayOutput struct{ *pulumi.OutputState }

func (RepositoryGroupIamMemberArrayOutput) ElementType

func (RepositoryGroupIamMemberArrayOutput) Index

func (RepositoryGroupIamMemberArrayOutput) ToRepositoryGroupIamMemberArrayOutput

func (o RepositoryGroupIamMemberArrayOutput) ToRepositoryGroupIamMemberArrayOutput() RepositoryGroupIamMemberArrayOutput

func (RepositoryGroupIamMemberArrayOutput) ToRepositoryGroupIamMemberArrayOutputWithContext

func (o RepositoryGroupIamMemberArrayOutput) ToRepositoryGroupIamMemberArrayOutputWithContext(ctx context.Context) RepositoryGroupIamMemberArrayOutput

type RepositoryGroupIamMemberCondition

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

type RepositoryGroupIamMemberConditionArgs

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

func (RepositoryGroupIamMemberConditionArgs) ElementType

func (RepositoryGroupIamMemberConditionArgs) ToRepositoryGroupIamMemberConditionOutput

func (i RepositoryGroupIamMemberConditionArgs) ToRepositoryGroupIamMemberConditionOutput() RepositoryGroupIamMemberConditionOutput

func (RepositoryGroupIamMemberConditionArgs) ToRepositoryGroupIamMemberConditionOutputWithContext

func (i RepositoryGroupIamMemberConditionArgs) ToRepositoryGroupIamMemberConditionOutputWithContext(ctx context.Context) RepositoryGroupIamMemberConditionOutput

func (RepositoryGroupIamMemberConditionArgs) ToRepositoryGroupIamMemberConditionPtrOutput

func (i RepositoryGroupIamMemberConditionArgs) ToRepositoryGroupIamMemberConditionPtrOutput() RepositoryGroupIamMemberConditionPtrOutput

func (RepositoryGroupIamMemberConditionArgs) ToRepositoryGroupIamMemberConditionPtrOutputWithContext

func (i RepositoryGroupIamMemberConditionArgs) ToRepositoryGroupIamMemberConditionPtrOutputWithContext(ctx context.Context) RepositoryGroupIamMemberConditionPtrOutput

type RepositoryGroupIamMemberConditionInput

type RepositoryGroupIamMemberConditionInput interface {
	pulumi.Input

	ToRepositoryGroupIamMemberConditionOutput() RepositoryGroupIamMemberConditionOutput
	ToRepositoryGroupIamMemberConditionOutputWithContext(context.Context) RepositoryGroupIamMemberConditionOutput
}

RepositoryGroupIamMemberConditionInput is an input type that accepts RepositoryGroupIamMemberConditionArgs and RepositoryGroupIamMemberConditionOutput values. You can construct a concrete instance of `RepositoryGroupIamMemberConditionInput` via:

RepositoryGroupIamMemberConditionArgs{...}

type RepositoryGroupIamMemberConditionOutput

type RepositoryGroupIamMemberConditionOutput struct{ *pulumi.OutputState }

func (RepositoryGroupIamMemberConditionOutput) Description

func (RepositoryGroupIamMemberConditionOutput) ElementType

func (RepositoryGroupIamMemberConditionOutput) Expression

func (RepositoryGroupIamMemberConditionOutput) Title

func (RepositoryGroupIamMemberConditionOutput) ToRepositoryGroupIamMemberConditionOutput

func (o RepositoryGroupIamMemberConditionOutput) ToRepositoryGroupIamMemberConditionOutput() RepositoryGroupIamMemberConditionOutput

func (RepositoryGroupIamMemberConditionOutput) ToRepositoryGroupIamMemberConditionOutputWithContext

func (o RepositoryGroupIamMemberConditionOutput) ToRepositoryGroupIamMemberConditionOutputWithContext(ctx context.Context) RepositoryGroupIamMemberConditionOutput

func (RepositoryGroupIamMemberConditionOutput) ToRepositoryGroupIamMemberConditionPtrOutput

func (o RepositoryGroupIamMemberConditionOutput) ToRepositoryGroupIamMemberConditionPtrOutput() RepositoryGroupIamMemberConditionPtrOutput

func (RepositoryGroupIamMemberConditionOutput) ToRepositoryGroupIamMemberConditionPtrOutputWithContext

func (o RepositoryGroupIamMemberConditionOutput) ToRepositoryGroupIamMemberConditionPtrOutputWithContext(ctx context.Context) RepositoryGroupIamMemberConditionPtrOutput

type RepositoryGroupIamMemberConditionPtrInput

type RepositoryGroupIamMemberConditionPtrInput interface {
	pulumi.Input

	ToRepositoryGroupIamMemberConditionPtrOutput() RepositoryGroupIamMemberConditionPtrOutput
	ToRepositoryGroupIamMemberConditionPtrOutputWithContext(context.Context) RepositoryGroupIamMemberConditionPtrOutput
}

RepositoryGroupIamMemberConditionPtrInput is an input type that accepts RepositoryGroupIamMemberConditionArgs, RepositoryGroupIamMemberConditionPtr and RepositoryGroupIamMemberConditionPtrOutput values. You can construct a concrete instance of `RepositoryGroupIamMemberConditionPtrInput` via:

        RepositoryGroupIamMemberConditionArgs{...}

or:

        nil

type RepositoryGroupIamMemberConditionPtrOutput

type RepositoryGroupIamMemberConditionPtrOutput struct{ *pulumi.OutputState }

func (RepositoryGroupIamMemberConditionPtrOutput) Description

func (RepositoryGroupIamMemberConditionPtrOutput) Elem

func (RepositoryGroupIamMemberConditionPtrOutput) ElementType

func (RepositoryGroupIamMemberConditionPtrOutput) Expression

func (RepositoryGroupIamMemberConditionPtrOutput) Title

func (RepositoryGroupIamMemberConditionPtrOutput) ToRepositoryGroupIamMemberConditionPtrOutput

func (o RepositoryGroupIamMemberConditionPtrOutput) ToRepositoryGroupIamMemberConditionPtrOutput() RepositoryGroupIamMemberConditionPtrOutput

func (RepositoryGroupIamMemberConditionPtrOutput) ToRepositoryGroupIamMemberConditionPtrOutputWithContext

func (o RepositoryGroupIamMemberConditionPtrOutput) ToRepositoryGroupIamMemberConditionPtrOutputWithContext(ctx context.Context) RepositoryGroupIamMemberConditionPtrOutput

type RepositoryGroupIamMemberInput

type RepositoryGroupIamMemberInput interface {
	pulumi.Input

	ToRepositoryGroupIamMemberOutput() RepositoryGroupIamMemberOutput
	ToRepositoryGroupIamMemberOutputWithContext(ctx context.Context) RepositoryGroupIamMemberOutput
}

type RepositoryGroupIamMemberMap

type RepositoryGroupIamMemberMap map[string]RepositoryGroupIamMemberInput

func (RepositoryGroupIamMemberMap) ElementType

func (RepositoryGroupIamMemberMap) ToRepositoryGroupIamMemberMapOutput

func (i RepositoryGroupIamMemberMap) ToRepositoryGroupIamMemberMapOutput() RepositoryGroupIamMemberMapOutput

func (RepositoryGroupIamMemberMap) ToRepositoryGroupIamMemberMapOutputWithContext

func (i RepositoryGroupIamMemberMap) ToRepositoryGroupIamMemberMapOutputWithContext(ctx context.Context) RepositoryGroupIamMemberMapOutput

type RepositoryGroupIamMemberMapInput

type RepositoryGroupIamMemberMapInput interface {
	pulumi.Input

	ToRepositoryGroupIamMemberMapOutput() RepositoryGroupIamMemberMapOutput
	ToRepositoryGroupIamMemberMapOutputWithContext(context.Context) RepositoryGroupIamMemberMapOutput
}

RepositoryGroupIamMemberMapInput is an input type that accepts RepositoryGroupIamMemberMap and RepositoryGroupIamMemberMapOutput values. You can construct a concrete instance of `RepositoryGroupIamMemberMapInput` via:

RepositoryGroupIamMemberMap{ "key": RepositoryGroupIamMemberArgs{...} }

type RepositoryGroupIamMemberMapOutput

type RepositoryGroupIamMemberMapOutput struct{ *pulumi.OutputState }

func (RepositoryGroupIamMemberMapOutput) ElementType

func (RepositoryGroupIamMemberMapOutput) MapIndex

func (RepositoryGroupIamMemberMapOutput) ToRepositoryGroupIamMemberMapOutput

func (o RepositoryGroupIamMemberMapOutput) ToRepositoryGroupIamMemberMapOutput() RepositoryGroupIamMemberMapOutput

func (RepositoryGroupIamMemberMapOutput) ToRepositoryGroupIamMemberMapOutputWithContext

func (o RepositoryGroupIamMemberMapOutput) ToRepositoryGroupIamMemberMapOutputWithContext(ctx context.Context) RepositoryGroupIamMemberMapOutput

type RepositoryGroupIamMemberOutput

type RepositoryGroupIamMemberOutput struct{ *pulumi.OutputState }

func (RepositoryGroupIamMemberOutput) CodeRepositoryIndex

func (o RepositoryGroupIamMemberOutput) CodeRepositoryIndex() pulumi.StringOutput

func (RepositoryGroupIamMemberOutput) Condition

func (RepositoryGroupIamMemberOutput) ElementType

func (RepositoryGroupIamMemberOutput) Etag

(Computed) The etag of the IAM policy.

func (RepositoryGroupIamMemberOutput) Location

The location of the Code Repository Index, for example `us-central1`. Used to find the parent resource to bind the IAM policy to. If not specified, the value will be parsed from the identifier of the parent resource. If no location is provided in the parent identifier and no location is specified, it is taken from the provider configuration.

func (RepositoryGroupIamMemberOutput) Member

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

func (RepositoryGroupIamMemberOutput) Project

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

func (RepositoryGroupIamMemberOutput) RepositoryGroupId

func (o RepositoryGroupIamMemberOutput) RepositoryGroupId() pulumi.StringOutput

func (RepositoryGroupIamMemberOutput) Role

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

func (RepositoryGroupIamMemberOutput) ToRepositoryGroupIamMemberOutput

func (o RepositoryGroupIamMemberOutput) ToRepositoryGroupIamMemberOutput() RepositoryGroupIamMemberOutput

func (RepositoryGroupIamMemberOutput) ToRepositoryGroupIamMemberOutputWithContext

func (o RepositoryGroupIamMemberOutput) ToRepositoryGroupIamMemberOutputWithContext(ctx context.Context) RepositoryGroupIamMemberOutput

type RepositoryGroupIamMemberState

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

type RepositoryGroupIamPolicy

type RepositoryGroupIamPolicy struct {
	pulumi.CustomResourceState

	CodeRepositoryIndex pulumi.StringOutput `pulumi:"codeRepositoryIndex"`
	// (Computed) The etag of the IAM policy.
	Etag pulumi.StringOutput `pulumi:"etag"`
	// The location of the Code Repository Index, for example `us-central1`. Used to find the parent resource to bind the IAM policy to. If not specified,
	// the value will be parsed from the identifier of the parent resource. If no location is provided in the parent identifier and no
	// location is specified, it is taken from the provider configuration.
	Location pulumi.StringOutput `pulumi:"location"`
	// The policy data generated by
	// a `organizations.getIAMPolicy` data source.
	PolicyData pulumi.StringOutput `pulumi:"policyData"`
	// The ID of the project in which the resource belongs.
	// If it is not provided, the project will be parsed from the identifier of the parent resource. If no project is provided in the parent identifier and no project is specified, the provider project is used.
	Project           pulumi.StringOutput `pulumi:"project"`
	RepositoryGroupId pulumi.StringOutput `pulumi:"repositoryGroupId"`
}

## Import

For all import syntaxes, the "resource in question" can take any of the following forms:

* projects/{{project}}/locations/{{location}}/codeRepositoryIndexes/{{code_repository_index}}/repositoryGroups/{{repository_group_id}}

* {{project}}/{{location}}/{{code_repository_index}}/{{repository_group_id}}

* {{location}}/{{code_repository_index}}/{{repository_group_id}}

* {{repository_group_id}}

Any variables not passed in the import command will be taken from the provider configuration.

Gemini for Google Cloud repositorygroup IAM resources can be imported using the resource identifiers, role, and member.

IAM member imports use space-delimited identifiers: the resource in question, the role, and the member identity, e.g.

```sh $ pulumi import gcp:gemini/repositoryGroupIamPolicy:RepositoryGroupIamPolicy editor "projects/{{project}}/locations/{{location}}/codeRepositoryIndexes/{{code_repository_index}}/repositoryGroups/{{repository_group_id}} roles/cloudaicompanion.repositoryGroupsUser user:jane@example.com" ```

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

```sh $ pulumi import gcp:gemini/repositoryGroupIamPolicy:RepositoryGroupIamPolicy editor "projects/{{project}}/locations/{{location}}/codeRepositoryIndexes/{{code_repository_index}}/repositoryGroups/{{repository_group_id}} roles/cloudaicompanion.repositoryGroupsUser" ```

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

```sh $ pulumi import gcp:gemini/repositoryGroupIamPolicy:RepositoryGroupIamPolicy editor projects/{{project}}/locations/{{location}}/codeRepositoryIndexes/{{code_repository_index}}/repositoryGroups/{{repository_group_id}} ```

-> **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 GetRepositoryGroupIamPolicy

func GetRepositoryGroupIamPolicy(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *RepositoryGroupIamPolicyState, opts ...pulumi.ResourceOption) (*RepositoryGroupIamPolicy, error)

GetRepositoryGroupIamPolicy gets an existing RepositoryGroupIamPolicy 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 NewRepositoryGroupIamPolicy

func NewRepositoryGroupIamPolicy(ctx *pulumi.Context,
	name string, args *RepositoryGroupIamPolicyArgs, opts ...pulumi.ResourceOption) (*RepositoryGroupIamPolicy, error)

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

func (*RepositoryGroupIamPolicy) ElementType

func (*RepositoryGroupIamPolicy) ElementType() reflect.Type

func (*RepositoryGroupIamPolicy) ToRepositoryGroupIamPolicyOutput

func (i *RepositoryGroupIamPolicy) ToRepositoryGroupIamPolicyOutput() RepositoryGroupIamPolicyOutput

func (*RepositoryGroupIamPolicy) ToRepositoryGroupIamPolicyOutputWithContext

func (i *RepositoryGroupIamPolicy) ToRepositoryGroupIamPolicyOutputWithContext(ctx context.Context) RepositoryGroupIamPolicyOutput

type RepositoryGroupIamPolicyArgs

type RepositoryGroupIamPolicyArgs struct {
	CodeRepositoryIndex pulumi.StringInput
	// The location of the Code Repository Index, for example `us-central1`. Used to find the parent resource to bind the IAM policy to. If not specified,
	// the value will be parsed from the identifier of the parent resource. If no location is provided in the parent identifier and no
	// location is specified, it is taken from the provider configuration.
	Location pulumi.StringPtrInput
	// The policy data generated by
	// a `organizations.getIAMPolicy` data source.
	PolicyData pulumi.StringInput
	// The ID of the project in which the resource belongs.
	// If it is not provided, the project will be parsed from the identifier of the parent resource. If no project is provided in the parent identifier and no project is specified, the provider project is used.
	Project           pulumi.StringPtrInput
	RepositoryGroupId pulumi.StringInput
}

The set of arguments for constructing a RepositoryGroupIamPolicy resource.

func (RepositoryGroupIamPolicyArgs) ElementType

type RepositoryGroupIamPolicyArray

type RepositoryGroupIamPolicyArray []RepositoryGroupIamPolicyInput

func (RepositoryGroupIamPolicyArray) ElementType

func (RepositoryGroupIamPolicyArray) ToRepositoryGroupIamPolicyArrayOutput

func (i RepositoryGroupIamPolicyArray) ToRepositoryGroupIamPolicyArrayOutput() RepositoryGroupIamPolicyArrayOutput

func (RepositoryGroupIamPolicyArray) ToRepositoryGroupIamPolicyArrayOutputWithContext

func (i RepositoryGroupIamPolicyArray) ToRepositoryGroupIamPolicyArrayOutputWithContext(ctx context.Context) RepositoryGroupIamPolicyArrayOutput

type RepositoryGroupIamPolicyArrayInput

type RepositoryGroupIamPolicyArrayInput interface {
	pulumi.Input

	ToRepositoryGroupIamPolicyArrayOutput() RepositoryGroupIamPolicyArrayOutput
	ToRepositoryGroupIamPolicyArrayOutputWithContext(context.Context) RepositoryGroupIamPolicyArrayOutput
}

RepositoryGroupIamPolicyArrayInput is an input type that accepts RepositoryGroupIamPolicyArray and RepositoryGroupIamPolicyArrayOutput values. You can construct a concrete instance of `RepositoryGroupIamPolicyArrayInput` via:

RepositoryGroupIamPolicyArray{ RepositoryGroupIamPolicyArgs{...} }

type RepositoryGroupIamPolicyArrayOutput

type RepositoryGroupIamPolicyArrayOutput struct{ *pulumi.OutputState }

func (RepositoryGroupIamPolicyArrayOutput) ElementType

func (RepositoryGroupIamPolicyArrayOutput) Index

func (RepositoryGroupIamPolicyArrayOutput) ToRepositoryGroupIamPolicyArrayOutput

func (o RepositoryGroupIamPolicyArrayOutput) ToRepositoryGroupIamPolicyArrayOutput() RepositoryGroupIamPolicyArrayOutput

func (RepositoryGroupIamPolicyArrayOutput) ToRepositoryGroupIamPolicyArrayOutputWithContext

func (o RepositoryGroupIamPolicyArrayOutput) ToRepositoryGroupIamPolicyArrayOutputWithContext(ctx context.Context) RepositoryGroupIamPolicyArrayOutput

type RepositoryGroupIamPolicyInput

type RepositoryGroupIamPolicyInput interface {
	pulumi.Input

	ToRepositoryGroupIamPolicyOutput() RepositoryGroupIamPolicyOutput
	ToRepositoryGroupIamPolicyOutputWithContext(ctx context.Context) RepositoryGroupIamPolicyOutput
}

type RepositoryGroupIamPolicyMap

type RepositoryGroupIamPolicyMap map[string]RepositoryGroupIamPolicyInput

func (RepositoryGroupIamPolicyMap) ElementType

func (RepositoryGroupIamPolicyMap) ToRepositoryGroupIamPolicyMapOutput

func (i RepositoryGroupIamPolicyMap) ToRepositoryGroupIamPolicyMapOutput() RepositoryGroupIamPolicyMapOutput

func (RepositoryGroupIamPolicyMap) ToRepositoryGroupIamPolicyMapOutputWithContext

func (i RepositoryGroupIamPolicyMap) ToRepositoryGroupIamPolicyMapOutputWithContext(ctx context.Context) RepositoryGroupIamPolicyMapOutput

type RepositoryGroupIamPolicyMapInput

type RepositoryGroupIamPolicyMapInput interface {
	pulumi.Input

	ToRepositoryGroupIamPolicyMapOutput() RepositoryGroupIamPolicyMapOutput
	ToRepositoryGroupIamPolicyMapOutputWithContext(context.Context) RepositoryGroupIamPolicyMapOutput
}

RepositoryGroupIamPolicyMapInput is an input type that accepts RepositoryGroupIamPolicyMap and RepositoryGroupIamPolicyMapOutput values. You can construct a concrete instance of `RepositoryGroupIamPolicyMapInput` via:

RepositoryGroupIamPolicyMap{ "key": RepositoryGroupIamPolicyArgs{...} }

type RepositoryGroupIamPolicyMapOutput

type RepositoryGroupIamPolicyMapOutput struct{ *pulumi.OutputState }

func (RepositoryGroupIamPolicyMapOutput) ElementType

func (RepositoryGroupIamPolicyMapOutput) MapIndex

func (RepositoryGroupIamPolicyMapOutput) ToRepositoryGroupIamPolicyMapOutput

func (o RepositoryGroupIamPolicyMapOutput) ToRepositoryGroupIamPolicyMapOutput() RepositoryGroupIamPolicyMapOutput

func (RepositoryGroupIamPolicyMapOutput) ToRepositoryGroupIamPolicyMapOutputWithContext

func (o RepositoryGroupIamPolicyMapOutput) ToRepositoryGroupIamPolicyMapOutputWithContext(ctx context.Context) RepositoryGroupIamPolicyMapOutput

type RepositoryGroupIamPolicyOutput

type RepositoryGroupIamPolicyOutput struct{ *pulumi.OutputState }

func (RepositoryGroupIamPolicyOutput) CodeRepositoryIndex

func (o RepositoryGroupIamPolicyOutput) CodeRepositoryIndex() pulumi.StringOutput

func (RepositoryGroupIamPolicyOutput) ElementType

func (RepositoryGroupIamPolicyOutput) Etag

(Computed) The etag of the IAM policy.

func (RepositoryGroupIamPolicyOutput) Location

The location of the Code Repository Index, for example `us-central1`. Used to find the parent resource to bind the IAM policy to. If not specified, the value will be parsed from the identifier of the parent resource. If no location is provided in the parent identifier and no location is specified, it is taken from the provider configuration.

func (RepositoryGroupIamPolicyOutput) PolicyData

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

func (RepositoryGroupIamPolicyOutput) Project

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

func (RepositoryGroupIamPolicyOutput) RepositoryGroupId

func (o RepositoryGroupIamPolicyOutput) RepositoryGroupId() pulumi.StringOutput

func (RepositoryGroupIamPolicyOutput) ToRepositoryGroupIamPolicyOutput

func (o RepositoryGroupIamPolicyOutput) ToRepositoryGroupIamPolicyOutput() RepositoryGroupIamPolicyOutput

func (RepositoryGroupIamPolicyOutput) ToRepositoryGroupIamPolicyOutputWithContext

func (o RepositoryGroupIamPolicyOutput) ToRepositoryGroupIamPolicyOutputWithContext(ctx context.Context) RepositoryGroupIamPolicyOutput

type RepositoryGroupIamPolicyState

type RepositoryGroupIamPolicyState struct {
	CodeRepositoryIndex pulumi.StringPtrInput
	// (Computed) The etag of the IAM policy.
	Etag pulumi.StringPtrInput
	// The location of the Code Repository Index, for example `us-central1`. Used to find the parent resource to bind the IAM policy to. If not specified,
	// the value will be parsed from the identifier of the parent resource. If no location is provided in the parent identifier and no
	// location is specified, it is taken from the provider configuration.
	Location pulumi.StringPtrInput
	// The policy data generated by
	// a `organizations.getIAMPolicy` data source.
	PolicyData pulumi.StringPtrInput
	// The ID of the project in which the resource belongs.
	// If it is not provided, the project will be parsed from the identifier of the parent resource. If no project is provided in the parent identifier and no project is specified, the provider project is used.
	Project           pulumi.StringPtrInput
	RepositoryGroupId pulumi.StringPtrInput
}

func (RepositoryGroupIamPolicyState) ElementType

type RepositoryGroupInput

type RepositoryGroupInput interface {
	pulumi.Input

	ToRepositoryGroupOutput() RepositoryGroupOutput
	ToRepositoryGroupOutputWithContext(ctx context.Context) RepositoryGroupOutput
}

type RepositoryGroupMap

type RepositoryGroupMap map[string]RepositoryGroupInput

func (RepositoryGroupMap) ElementType

func (RepositoryGroupMap) ElementType() reflect.Type

func (RepositoryGroupMap) ToRepositoryGroupMapOutput

func (i RepositoryGroupMap) ToRepositoryGroupMapOutput() RepositoryGroupMapOutput

func (RepositoryGroupMap) ToRepositoryGroupMapOutputWithContext

func (i RepositoryGroupMap) ToRepositoryGroupMapOutputWithContext(ctx context.Context) RepositoryGroupMapOutput

type RepositoryGroupMapInput

type RepositoryGroupMapInput interface {
	pulumi.Input

	ToRepositoryGroupMapOutput() RepositoryGroupMapOutput
	ToRepositoryGroupMapOutputWithContext(context.Context) RepositoryGroupMapOutput
}

RepositoryGroupMapInput is an input type that accepts RepositoryGroupMap and RepositoryGroupMapOutput values. You can construct a concrete instance of `RepositoryGroupMapInput` via:

RepositoryGroupMap{ "key": RepositoryGroupArgs{...} }

type RepositoryGroupMapOutput

type RepositoryGroupMapOutput struct{ *pulumi.OutputState }

func (RepositoryGroupMapOutput) ElementType

func (RepositoryGroupMapOutput) ElementType() reflect.Type

func (RepositoryGroupMapOutput) MapIndex

func (RepositoryGroupMapOutput) ToRepositoryGroupMapOutput

func (o RepositoryGroupMapOutput) ToRepositoryGroupMapOutput() RepositoryGroupMapOutput

func (RepositoryGroupMapOutput) ToRepositoryGroupMapOutputWithContext

func (o RepositoryGroupMapOutput) ToRepositoryGroupMapOutputWithContext(ctx context.Context) RepositoryGroupMapOutput

type RepositoryGroupOutput

type RepositoryGroupOutput struct{ *pulumi.OutputState }

func (RepositoryGroupOutput) CodeRepositoryIndex

func (o RepositoryGroupOutput) CodeRepositoryIndex() pulumi.StringOutput

Required. Id of the Code Repository Index.

func (RepositoryGroupOutput) CreateTime

func (o RepositoryGroupOutput) CreateTime() pulumi.StringOutput

Output only. Create time stamp

func (RepositoryGroupOutput) EffectiveLabels

func (o RepositoryGroupOutput) EffectiveLabels() pulumi.StringMapOutput

All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.

func (RepositoryGroupOutput) ElementType

func (RepositoryGroupOutput) ElementType() reflect.Type

func (RepositoryGroupOutput) Labels

Optional. Labels as key value pairs **Note**: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field 'effective_labels' for all of the labels present on the resource.

func (RepositoryGroupOutput) Location

The location of the Code Repository Index, for example `us-central1`.

func (RepositoryGroupOutput) Name

Immutable. Identifier. name of resource

func (RepositoryGroupOutput) Project

func (RepositoryGroupOutput) PulumiLabels

func (o RepositoryGroupOutput) PulumiLabels() pulumi.StringMapOutput

The combination of labels configured directly on the resource and default labels configured on the provider.

func (RepositoryGroupOutput) Repositories

Required. List of repositories to group Structure is documented below.

func (RepositoryGroupOutput) RepositoryGroupId

func (o RepositoryGroupOutput) RepositoryGroupId() pulumi.StringOutput

Required. Id of the Repository Group.

func (RepositoryGroupOutput) ToRepositoryGroupOutput

func (o RepositoryGroupOutput) ToRepositoryGroupOutput() RepositoryGroupOutput

func (RepositoryGroupOutput) ToRepositoryGroupOutputWithContext

func (o RepositoryGroupOutput) ToRepositoryGroupOutputWithContext(ctx context.Context) RepositoryGroupOutput

func (RepositoryGroupOutput) UpdateTime

func (o RepositoryGroupOutput) UpdateTime() pulumi.StringOutput

Output only. Update time stamp

type RepositoryGroupRepository

type RepositoryGroupRepository struct {
	// Required. The Git branch pattern used for indexing in RE2 syntax.
	// See https://github.com/google/re2/wiki/syntax for syntax.
	//
	// ***
	BranchPattern string `pulumi:"branchPattern"`
	// Required. The DeveloperConnect repository full resource name, relative resource name
	// or resource URL to be indexed.
	Resource string `pulumi:"resource"`
}

type RepositoryGroupRepositoryArgs

type RepositoryGroupRepositoryArgs struct {
	// Required. The Git branch pattern used for indexing in RE2 syntax.
	// See https://github.com/google/re2/wiki/syntax for syntax.
	//
	// ***
	BranchPattern pulumi.StringInput `pulumi:"branchPattern"`
	// Required. The DeveloperConnect repository full resource name, relative resource name
	// or resource URL to be indexed.
	Resource pulumi.StringInput `pulumi:"resource"`
}

func (RepositoryGroupRepositoryArgs) ElementType

func (RepositoryGroupRepositoryArgs) ToRepositoryGroupRepositoryOutput

func (i RepositoryGroupRepositoryArgs) ToRepositoryGroupRepositoryOutput() RepositoryGroupRepositoryOutput

func (RepositoryGroupRepositoryArgs) ToRepositoryGroupRepositoryOutputWithContext

func (i RepositoryGroupRepositoryArgs) ToRepositoryGroupRepositoryOutputWithContext(ctx context.Context) RepositoryGroupRepositoryOutput

type RepositoryGroupRepositoryArray

type RepositoryGroupRepositoryArray []RepositoryGroupRepositoryInput

func (RepositoryGroupRepositoryArray) ElementType

func (RepositoryGroupRepositoryArray) ToRepositoryGroupRepositoryArrayOutput

func (i RepositoryGroupRepositoryArray) ToRepositoryGroupRepositoryArrayOutput() RepositoryGroupRepositoryArrayOutput

func (RepositoryGroupRepositoryArray) ToRepositoryGroupRepositoryArrayOutputWithContext

func (i RepositoryGroupRepositoryArray) ToRepositoryGroupRepositoryArrayOutputWithContext(ctx context.Context) RepositoryGroupRepositoryArrayOutput

type RepositoryGroupRepositoryArrayInput

type RepositoryGroupRepositoryArrayInput interface {
	pulumi.Input

	ToRepositoryGroupRepositoryArrayOutput() RepositoryGroupRepositoryArrayOutput
	ToRepositoryGroupRepositoryArrayOutputWithContext(context.Context) RepositoryGroupRepositoryArrayOutput
}

RepositoryGroupRepositoryArrayInput is an input type that accepts RepositoryGroupRepositoryArray and RepositoryGroupRepositoryArrayOutput values. You can construct a concrete instance of `RepositoryGroupRepositoryArrayInput` via:

RepositoryGroupRepositoryArray{ RepositoryGroupRepositoryArgs{...} }

type RepositoryGroupRepositoryArrayOutput

type RepositoryGroupRepositoryArrayOutput struct{ *pulumi.OutputState }

func (RepositoryGroupRepositoryArrayOutput) ElementType

func (RepositoryGroupRepositoryArrayOutput) Index

func (RepositoryGroupRepositoryArrayOutput) ToRepositoryGroupRepositoryArrayOutput

func (o RepositoryGroupRepositoryArrayOutput) ToRepositoryGroupRepositoryArrayOutput() RepositoryGroupRepositoryArrayOutput

func (RepositoryGroupRepositoryArrayOutput) ToRepositoryGroupRepositoryArrayOutputWithContext

func (o RepositoryGroupRepositoryArrayOutput) ToRepositoryGroupRepositoryArrayOutputWithContext(ctx context.Context) RepositoryGroupRepositoryArrayOutput

type RepositoryGroupRepositoryInput

type RepositoryGroupRepositoryInput interface {
	pulumi.Input

	ToRepositoryGroupRepositoryOutput() RepositoryGroupRepositoryOutput
	ToRepositoryGroupRepositoryOutputWithContext(context.Context) RepositoryGroupRepositoryOutput
}

RepositoryGroupRepositoryInput is an input type that accepts RepositoryGroupRepositoryArgs and RepositoryGroupRepositoryOutput values. You can construct a concrete instance of `RepositoryGroupRepositoryInput` via:

RepositoryGroupRepositoryArgs{...}

type RepositoryGroupRepositoryOutput

type RepositoryGroupRepositoryOutput struct{ *pulumi.OutputState }

func (RepositoryGroupRepositoryOutput) BranchPattern

Required. The Git branch pattern used for indexing in RE2 syntax. See https://github.com/google/re2/wiki/syntax for syntax.

***

func (RepositoryGroupRepositoryOutput) ElementType

func (RepositoryGroupRepositoryOutput) Resource

Required. The DeveloperConnect repository full resource name, relative resource name or resource URL to be indexed.

func (RepositoryGroupRepositoryOutput) ToRepositoryGroupRepositoryOutput

func (o RepositoryGroupRepositoryOutput) ToRepositoryGroupRepositoryOutput() RepositoryGroupRepositoryOutput

func (RepositoryGroupRepositoryOutput) ToRepositoryGroupRepositoryOutputWithContext

func (o RepositoryGroupRepositoryOutput) ToRepositoryGroupRepositoryOutputWithContext(ctx context.Context) RepositoryGroupRepositoryOutput

type RepositoryGroupState

type RepositoryGroupState struct {
	// Required. Id of the Code Repository Index.
	CodeRepositoryIndex pulumi.StringPtrInput
	// Output only. Create time stamp
	CreateTime pulumi.StringPtrInput
	// All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
	EffectiveLabels pulumi.StringMapInput
	// Optional. Labels as key value pairs **Note**: This field is non-authoritative, and will only manage the labels present
	// in your configuration. Please refer to the field 'effective_labels' for all of the labels present on the resource.
	Labels pulumi.StringMapInput
	// The location of the Code Repository Index, for example `us-central1`.
	Location pulumi.StringPtrInput
	// Immutable. Identifier. name of resource
	Name    pulumi.StringPtrInput
	Project pulumi.StringPtrInput
	// The combination of labels configured directly on the resource
	// and default labels configured on the provider.
	PulumiLabels pulumi.StringMapInput
	// Required. List of repositories to group
	// Structure is documented below.
	Repositories RepositoryGroupRepositoryArrayInput
	// Required. Id of the Repository Group.
	RepositoryGroupId pulumi.StringPtrInput
	// Output only. Update time stamp
	UpdateTime pulumi.StringPtrInput
}

func (RepositoryGroupState) ElementType

func (RepositoryGroupState) ElementType() reflect.Type

Jump to

Keyboard shortcuts

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