securesourcemanager

package
v7.31.0 Latest Latest
Warning

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

Go to latest
Published: Jul 15, 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 Instance

type Instance struct {
	pulumi.CustomResourceState

	// Time the Instance was created in UTC.
	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"`
	// A list of hostnames for this instance.
	// Structure is documented below.
	HostConfigs InstanceHostConfigArrayOutput `pulumi:"hostConfigs"`
	// The name for the Instance.
	//
	// ***
	InstanceId pulumi.StringOutput `pulumi:"instanceId"`
	// Customer-managed encryption key name, in the format projects/*/locations/*/keyRings/*/cryptoKeys/*.
	KmsKey pulumi.StringPtrOutput `pulumi:"kmsKey"`
	// 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 for the Instance.
	Location pulumi.StringOutput `pulumi:"location"`
	// The resource name for the Instance.
	Name pulumi.StringOutput `pulumi:"name"`
	// Private settings for private instance.
	// Structure is documented below.
	PrivateConfig InstancePrivateConfigPtrOutput `pulumi:"privateConfig"`
	// 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"`
	// The current state of the Instance.
	State pulumi.StringOutput `pulumi:"state"`
	// Provides information about the current instance state.
	StateNote pulumi.StringOutput `pulumi:"stateNote"`
	// Time the Instance was updated in UTC.
	UpdateTime pulumi.StringOutput `pulumi:"updateTime"`
}

Instances are deployed to an available Google Cloud region and are accessible via their web interface.

To get more information about Instance, see:

* [API documentation](https://cloud.google.com/secure-source-manager/docs/reference/rest/v1/projects.locations.instances) * How-to Guides

## Example Usage

### Secure Source Manager Instance Basic

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/securesourcemanager"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := securesourcemanager.NewInstance(ctx, "default", &securesourcemanager.InstanceArgs{
			Location:   pulumi.String("us-central1"),
			InstanceId: pulumi.String("my-instance"),
			Labels: pulumi.StringMap{
				"foo": pulumi.String("bar"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` ### Secure Source Manager Instance Cmek

```go package main

import (

"fmt"

"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/kms"
"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/organizations"
"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/securesourcemanager"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		keyRing, err := kms.NewKeyRing(ctx, "key_ring", &kms.KeyRingArgs{
			Name:     pulumi.String("my-keyring"),
			Location: pulumi.String("us-central1"),
		})
		if err != nil {
			return err
		}
		cryptoKey, err := kms.NewCryptoKey(ctx, "crypto_key", &kms.CryptoKeyArgs{
			Name:    pulumi.String("my-key"),
			KeyRing: keyRing.ID(),
		})
		if err != nil {
			return err
		}
		project, err := organizations.LookupProject(ctx, nil, nil)
		if err != nil {
			return err
		}
		cryptoKeyBinding, err := kms.NewCryptoKeyIAMMember(ctx, "crypto_key_binding", &kms.CryptoKeyIAMMemberArgs{
			CryptoKeyId: cryptoKey.ID(),
			Role:        pulumi.String("roles/cloudkms.cryptoKeyEncrypterDecrypter"),
			Member:      pulumi.String(fmt.Sprintf("serviceAccount:service-%v@gcp-sa-sourcemanager.iam.gserviceaccount.com", project.Number)),
		})
		if err != nil {
			return err
		}
		_, err = securesourcemanager.NewInstance(ctx, "default", &securesourcemanager.InstanceArgs{
			Location:   pulumi.String("us-central1"),
			InstanceId: pulumi.String("my-instance"),
			KmsKey:     cryptoKey.ID(),
		}, pulumi.DependsOn([]pulumi.Resource{
			cryptoKeyBinding,
		}))
		if err != nil {
			return err
		}
		return nil
	})
}

``` ### Secure Source Manager Instance Private

```go package main

import (

"fmt"

"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/certificateauthority"
"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/organizations"
"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/securesourcemanager"
"github.com/pulumi/pulumi-time/sdk/go/time"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		caPool, err := certificateauthority.NewCaPool(ctx, "ca_pool", &certificateauthority.CaPoolArgs{
			Name:     pulumi.String("ca-pool"),
			Location: pulumi.String("us-central1"),
			Tier:     pulumi.String("ENTERPRISE"),
			PublishingOptions: &certificateauthority.CaPoolPublishingOptionsArgs{
				PublishCaCert: pulumi.Bool(true),
				PublishCrl:    pulumi.Bool(true),
			},
		})
		if err != nil {
			return err
		}
		rootCa, err := certificateauthority.NewAuthority(ctx, "root_ca", &certificateauthority.AuthorityArgs{
			Pool:                   caPool.Name,
			CertificateAuthorityId: pulumi.String("root-ca"),
			Location:               pulumi.String("us-central1"),
			Config: &certificateauthority.AuthorityConfigArgs{
				SubjectConfig: &certificateauthority.AuthorityConfigSubjectConfigArgs{
					Subject: &certificateauthority.AuthorityConfigSubjectConfigSubjectArgs{
						Organization: pulumi.String("google"),
						CommonName:   pulumi.String("my-certificate-authority"),
					},
				},
				X509Config: &certificateauthority.AuthorityConfigX509ConfigArgs{
					CaOptions: &certificateauthority.AuthorityConfigX509ConfigCaOptionsArgs{
						IsCa: pulumi.Bool(true),
					},
					KeyUsage: &certificateauthority.AuthorityConfigX509ConfigKeyUsageArgs{
						BaseKeyUsage: &certificateauthority.AuthorityConfigX509ConfigKeyUsageBaseKeyUsageArgs{
							CertSign: pulumi.Bool(true),
							CrlSign:  pulumi.Bool(true),
						},
						ExtendedKeyUsage: &certificateauthority.AuthorityConfigX509ConfigKeyUsageExtendedKeyUsageArgs{
							ServerAuth: pulumi.Bool(true),
						},
					},
				},
			},
			KeySpec: &certificateauthority.AuthorityKeySpecArgs{
				Algorithm: pulumi.String("RSA_PKCS1_4096_SHA256"),
			},
			DeletionProtection:                 pulumi.Bool(false),
			IgnoreActiveCertificatesOnDeletion: pulumi.Bool(true),
			SkipGracePeriod:                    pulumi.Bool(true),
		})
		if err != nil {
			return err
		}
		project, err := organizations.LookupProject(ctx, nil, nil)
		if err != nil {
			return err
		}
		caPoolBinding, err := certificateauthority.NewCaPoolIamBinding(ctx, "ca_pool_binding", &certificateauthority.CaPoolIamBindingArgs{
			CaPool: caPool.ID(),
			Role:   pulumi.String("roles/privateca.certificateRequester"),
			Members: pulumi.StringArray{
				pulumi.String(fmt.Sprintf("serviceAccount:service-%v@gcp-sa-sourcemanager.iam.gserviceaccount.com", project.Number)),
			},
		})
		if err != nil {
			return err
		}
		// ca pool IAM permissions can take time to propagate
		wait60Seconds, err := time.NewSleep(ctx, "wait_60_seconds", &time.SleepArgs{
			CreateDuration: "60s",
		}, pulumi.DependsOn([]pulumi.Resource{
			caPoolBinding,
		}))
		if err != nil {
			return err
		}
		_, err = securesourcemanager.NewInstance(ctx, "default", &securesourcemanager.InstanceArgs{
			InstanceId: pulumi.String("my-instance"),
			Location:   pulumi.String("us-central1"),
			PrivateConfig: &securesourcemanager.InstancePrivateConfigArgs{
				IsPrivate: pulumi.Bool(true),
				CaPool:    caPool.ID(),
			},
		}, pulumi.DependsOn([]pulumi.Resource{
			rootCa,
			wait60Seconds,
		}))
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Instance can be imported using any of these accepted formats:

* `projects/{{project}}/locations/{{location}}/instances/{{instance_id}}`

* `{{project}}/{{location}}/{{instance_id}}`

* `{{location}}/{{instance_id}}`

* `{{instance_id}}`

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

```sh $ pulumi import gcp:securesourcemanager/instance:Instance default projects/{{project}}/locations/{{location}}/instances/{{instance_id}} ```

```sh $ pulumi import gcp:securesourcemanager/instance:Instance default {{project}}/{{location}}/{{instance_id}} ```

```sh $ pulumi import gcp:securesourcemanager/instance:Instance default {{location}}/{{instance_id}} ```

```sh $ pulumi import gcp:securesourcemanager/instance:Instance default {{instance_id}} ```

func GetInstance

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

GetInstance gets an existing Instance resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewInstance

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

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

func (*Instance) ElementType

func (*Instance) ElementType() reflect.Type

func (*Instance) ToInstanceOutput

func (i *Instance) ToInstanceOutput() InstanceOutput

func (*Instance) ToInstanceOutputWithContext

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

type InstanceArgs

type InstanceArgs struct {
	// The name for the Instance.
	//
	// ***
	InstanceId pulumi.StringInput
	// Customer-managed encryption key name, in the format projects/*/locations/*/keyRings/*/cryptoKeys/*.
	KmsKey pulumi.StringPtrInput
	// 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 for the Instance.
	Location pulumi.StringInput
	// Private settings for private instance.
	// Structure is documented below.
	PrivateConfig InstancePrivateConfigPtrInput
	// 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 Instance resource.

func (InstanceArgs) ElementType

func (InstanceArgs) ElementType() reflect.Type

type InstanceArray

type InstanceArray []InstanceInput

func (InstanceArray) ElementType

func (InstanceArray) ElementType() reflect.Type

func (InstanceArray) ToInstanceArrayOutput

func (i InstanceArray) ToInstanceArrayOutput() InstanceArrayOutput

func (InstanceArray) ToInstanceArrayOutputWithContext

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

type InstanceArrayInput

type InstanceArrayInput interface {
	pulumi.Input

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

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

InstanceArray{ InstanceArgs{...} }

type InstanceArrayOutput

type InstanceArrayOutput struct{ *pulumi.OutputState }

func (InstanceArrayOutput) ElementType

func (InstanceArrayOutput) ElementType() reflect.Type

func (InstanceArrayOutput) Index

func (InstanceArrayOutput) ToInstanceArrayOutput

func (o InstanceArrayOutput) ToInstanceArrayOutput() InstanceArrayOutput

func (InstanceArrayOutput) ToInstanceArrayOutputWithContext

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

type InstanceHostConfig added in v7.4.0

type InstanceHostConfig struct {
	// (Output)
	// API hostname.
	Api *string `pulumi:"api"`
	// (Output)
	// Git HTTP hostname.
	GitHttp *string `pulumi:"gitHttp"`
	// (Output)
	// Git SSH hostname.
	GitSsh *string `pulumi:"gitSsh"`
	// (Output)
	// HTML hostname.
	Html *string `pulumi:"html"`
}

type InstanceHostConfigArgs added in v7.4.0

type InstanceHostConfigArgs struct {
	// (Output)
	// API hostname.
	Api pulumi.StringPtrInput `pulumi:"api"`
	// (Output)
	// Git HTTP hostname.
	GitHttp pulumi.StringPtrInput `pulumi:"gitHttp"`
	// (Output)
	// Git SSH hostname.
	GitSsh pulumi.StringPtrInput `pulumi:"gitSsh"`
	// (Output)
	// HTML hostname.
	Html pulumi.StringPtrInput `pulumi:"html"`
}

func (InstanceHostConfigArgs) ElementType added in v7.4.0

func (InstanceHostConfigArgs) ElementType() reflect.Type

func (InstanceHostConfigArgs) ToInstanceHostConfigOutput added in v7.4.0

func (i InstanceHostConfigArgs) ToInstanceHostConfigOutput() InstanceHostConfigOutput

func (InstanceHostConfigArgs) ToInstanceHostConfigOutputWithContext added in v7.4.0

func (i InstanceHostConfigArgs) ToInstanceHostConfigOutputWithContext(ctx context.Context) InstanceHostConfigOutput

type InstanceHostConfigArray added in v7.4.0

type InstanceHostConfigArray []InstanceHostConfigInput

func (InstanceHostConfigArray) ElementType added in v7.4.0

func (InstanceHostConfigArray) ElementType() reflect.Type

func (InstanceHostConfigArray) ToInstanceHostConfigArrayOutput added in v7.4.0

func (i InstanceHostConfigArray) ToInstanceHostConfigArrayOutput() InstanceHostConfigArrayOutput

func (InstanceHostConfigArray) ToInstanceHostConfigArrayOutputWithContext added in v7.4.0

func (i InstanceHostConfigArray) ToInstanceHostConfigArrayOutputWithContext(ctx context.Context) InstanceHostConfigArrayOutput

type InstanceHostConfigArrayInput added in v7.4.0

type InstanceHostConfigArrayInput interface {
	pulumi.Input

	ToInstanceHostConfigArrayOutput() InstanceHostConfigArrayOutput
	ToInstanceHostConfigArrayOutputWithContext(context.Context) InstanceHostConfigArrayOutput
}

InstanceHostConfigArrayInput is an input type that accepts InstanceHostConfigArray and InstanceHostConfigArrayOutput values. You can construct a concrete instance of `InstanceHostConfigArrayInput` via:

InstanceHostConfigArray{ InstanceHostConfigArgs{...} }

type InstanceHostConfigArrayOutput added in v7.4.0

type InstanceHostConfigArrayOutput struct{ *pulumi.OutputState }

func (InstanceHostConfigArrayOutput) ElementType added in v7.4.0

func (InstanceHostConfigArrayOutput) Index added in v7.4.0

func (InstanceHostConfigArrayOutput) ToInstanceHostConfigArrayOutput added in v7.4.0

func (o InstanceHostConfigArrayOutput) ToInstanceHostConfigArrayOutput() InstanceHostConfigArrayOutput

func (InstanceHostConfigArrayOutput) ToInstanceHostConfigArrayOutputWithContext added in v7.4.0

func (o InstanceHostConfigArrayOutput) ToInstanceHostConfigArrayOutputWithContext(ctx context.Context) InstanceHostConfigArrayOutput

type InstanceHostConfigInput added in v7.4.0

type InstanceHostConfigInput interface {
	pulumi.Input

	ToInstanceHostConfigOutput() InstanceHostConfigOutput
	ToInstanceHostConfigOutputWithContext(context.Context) InstanceHostConfigOutput
}

InstanceHostConfigInput is an input type that accepts InstanceHostConfigArgs and InstanceHostConfigOutput values. You can construct a concrete instance of `InstanceHostConfigInput` via:

InstanceHostConfigArgs{...}

type InstanceHostConfigOutput added in v7.4.0

type InstanceHostConfigOutput struct{ *pulumi.OutputState }

func (InstanceHostConfigOutput) Api added in v7.4.0

(Output) API hostname.

func (InstanceHostConfigOutput) ElementType added in v7.4.0

func (InstanceHostConfigOutput) ElementType() reflect.Type

func (InstanceHostConfigOutput) GitHttp added in v7.4.0

(Output) Git HTTP hostname.

func (InstanceHostConfigOutput) GitSsh added in v7.4.0

(Output) Git SSH hostname.

func (InstanceHostConfigOutput) Html added in v7.4.0

(Output) HTML hostname.

func (InstanceHostConfigOutput) ToInstanceHostConfigOutput added in v7.4.0

func (o InstanceHostConfigOutput) ToInstanceHostConfigOutput() InstanceHostConfigOutput

func (InstanceHostConfigOutput) ToInstanceHostConfigOutputWithContext added in v7.4.0

func (o InstanceHostConfigOutput) ToInstanceHostConfigOutputWithContext(ctx context.Context) InstanceHostConfigOutput

type InstanceIamBinding

type InstanceIamBinding struct {
	pulumi.CustomResourceState

	Condition  InstanceIamBindingConditionPtrOutput `pulumi:"condition"`
	Etag       pulumi.StringOutput                  `pulumi:"etag"`
	InstanceId pulumi.StringOutput                  `pulumi:"instanceId"`
	Location   pulumi.StringOutput                  `pulumi:"location"`
	Members    pulumi.StringArrayOutput             `pulumi:"members"`
	Project    pulumi.StringOutput                  `pulumi:"project"`
	Role       pulumi.StringOutput                  `pulumi:"role"`
}

func GetInstanceIamBinding

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

GetInstanceIamBinding gets an existing InstanceIamBinding resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewInstanceIamBinding

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

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

func (*InstanceIamBinding) ElementType

func (*InstanceIamBinding) ElementType() reflect.Type

func (*InstanceIamBinding) ToInstanceIamBindingOutput

func (i *InstanceIamBinding) ToInstanceIamBindingOutput() InstanceIamBindingOutput

func (*InstanceIamBinding) ToInstanceIamBindingOutputWithContext

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

type InstanceIamBindingArgs

type InstanceIamBindingArgs struct {
	Condition  InstanceIamBindingConditionPtrInput
	InstanceId pulumi.StringInput
	Location   pulumi.StringPtrInput
	Members    pulumi.StringArrayInput
	Project    pulumi.StringPtrInput
	Role       pulumi.StringInput
}

The set of arguments for constructing a InstanceIamBinding resource.

func (InstanceIamBindingArgs) ElementType

func (InstanceIamBindingArgs) ElementType() reflect.Type

type InstanceIamBindingArray

type InstanceIamBindingArray []InstanceIamBindingInput

func (InstanceIamBindingArray) ElementType

func (InstanceIamBindingArray) ElementType() reflect.Type

func (InstanceIamBindingArray) ToInstanceIamBindingArrayOutput

func (i InstanceIamBindingArray) ToInstanceIamBindingArrayOutput() InstanceIamBindingArrayOutput

func (InstanceIamBindingArray) ToInstanceIamBindingArrayOutputWithContext

func (i InstanceIamBindingArray) ToInstanceIamBindingArrayOutputWithContext(ctx context.Context) InstanceIamBindingArrayOutput

type InstanceIamBindingArrayInput

type InstanceIamBindingArrayInput interface {
	pulumi.Input

	ToInstanceIamBindingArrayOutput() InstanceIamBindingArrayOutput
	ToInstanceIamBindingArrayOutputWithContext(context.Context) InstanceIamBindingArrayOutput
}

InstanceIamBindingArrayInput is an input type that accepts InstanceIamBindingArray and InstanceIamBindingArrayOutput values. You can construct a concrete instance of `InstanceIamBindingArrayInput` via:

InstanceIamBindingArray{ InstanceIamBindingArgs{...} }

type InstanceIamBindingArrayOutput

type InstanceIamBindingArrayOutput struct{ *pulumi.OutputState }

func (InstanceIamBindingArrayOutput) ElementType

func (InstanceIamBindingArrayOutput) Index

func (InstanceIamBindingArrayOutput) ToInstanceIamBindingArrayOutput

func (o InstanceIamBindingArrayOutput) ToInstanceIamBindingArrayOutput() InstanceIamBindingArrayOutput

func (InstanceIamBindingArrayOutput) ToInstanceIamBindingArrayOutputWithContext

func (o InstanceIamBindingArrayOutput) ToInstanceIamBindingArrayOutputWithContext(ctx context.Context) InstanceIamBindingArrayOutput

type InstanceIamBindingCondition

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

type InstanceIamBindingConditionArgs

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

func (InstanceIamBindingConditionArgs) ElementType

func (InstanceIamBindingConditionArgs) ToInstanceIamBindingConditionOutput

func (i InstanceIamBindingConditionArgs) ToInstanceIamBindingConditionOutput() InstanceIamBindingConditionOutput

func (InstanceIamBindingConditionArgs) ToInstanceIamBindingConditionOutputWithContext

func (i InstanceIamBindingConditionArgs) ToInstanceIamBindingConditionOutputWithContext(ctx context.Context) InstanceIamBindingConditionOutput

func (InstanceIamBindingConditionArgs) ToInstanceIamBindingConditionPtrOutput

func (i InstanceIamBindingConditionArgs) ToInstanceIamBindingConditionPtrOutput() InstanceIamBindingConditionPtrOutput

func (InstanceIamBindingConditionArgs) ToInstanceIamBindingConditionPtrOutputWithContext

func (i InstanceIamBindingConditionArgs) ToInstanceIamBindingConditionPtrOutputWithContext(ctx context.Context) InstanceIamBindingConditionPtrOutput

type InstanceIamBindingConditionInput

type InstanceIamBindingConditionInput interface {
	pulumi.Input

	ToInstanceIamBindingConditionOutput() InstanceIamBindingConditionOutput
	ToInstanceIamBindingConditionOutputWithContext(context.Context) InstanceIamBindingConditionOutput
}

InstanceIamBindingConditionInput is an input type that accepts InstanceIamBindingConditionArgs and InstanceIamBindingConditionOutput values. You can construct a concrete instance of `InstanceIamBindingConditionInput` via:

InstanceIamBindingConditionArgs{...}

type InstanceIamBindingConditionOutput

type InstanceIamBindingConditionOutput struct{ *pulumi.OutputState }

func (InstanceIamBindingConditionOutput) Description

func (InstanceIamBindingConditionOutput) ElementType

func (InstanceIamBindingConditionOutput) Expression

func (InstanceIamBindingConditionOutput) Title

func (InstanceIamBindingConditionOutput) ToInstanceIamBindingConditionOutput

func (o InstanceIamBindingConditionOutput) ToInstanceIamBindingConditionOutput() InstanceIamBindingConditionOutput

func (InstanceIamBindingConditionOutput) ToInstanceIamBindingConditionOutputWithContext

func (o InstanceIamBindingConditionOutput) ToInstanceIamBindingConditionOutputWithContext(ctx context.Context) InstanceIamBindingConditionOutput

func (InstanceIamBindingConditionOutput) ToInstanceIamBindingConditionPtrOutput

func (o InstanceIamBindingConditionOutput) ToInstanceIamBindingConditionPtrOutput() InstanceIamBindingConditionPtrOutput

func (InstanceIamBindingConditionOutput) ToInstanceIamBindingConditionPtrOutputWithContext

func (o InstanceIamBindingConditionOutput) ToInstanceIamBindingConditionPtrOutputWithContext(ctx context.Context) InstanceIamBindingConditionPtrOutput

type InstanceIamBindingConditionPtrInput

type InstanceIamBindingConditionPtrInput interface {
	pulumi.Input

	ToInstanceIamBindingConditionPtrOutput() InstanceIamBindingConditionPtrOutput
	ToInstanceIamBindingConditionPtrOutputWithContext(context.Context) InstanceIamBindingConditionPtrOutput
}

InstanceIamBindingConditionPtrInput is an input type that accepts InstanceIamBindingConditionArgs, InstanceIamBindingConditionPtr and InstanceIamBindingConditionPtrOutput values. You can construct a concrete instance of `InstanceIamBindingConditionPtrInput` via:

        InstanceIamBindingConditionArgs{...}

or:

        nil

type InstanceIamBindingConditionPtrOutput

type InstanceIamBindingConditionPtrOutput struct{ *pulumi.OutputState }

func (InstanceIamBindingConditionPtrOutput) Description

func (InstanceIamBindingConditionPtrOutput) Elem

func (InstanceIamBindingConditionPtrOutput) ElementType

func (InstanceIamBindingConditionPtrOutput) Expression

func (InstanceIamBindingConditionPtrOutput) Title

func (InstanceIamBindingConditionPtrOutput) ToInstanceIamBindingConditionPtrOutput

func (o InstanceIamBindingConditionPtrOutput) ToInstanceIamBindingConditionPtrOutput() InstanceIamBindingConditionPtrOutput

func (InstanceIamBindingConditionPtrOutput) ToInstanceIamBindingConditionPtrOutputWithContext

func (o InstanceIamBindingConditionPtrOutput) ToInstanceIamBindingConditionPtrOutputWithContext(ctx context.Context) InstanceIamBindingConditionPtrOutput

type InstanceIamBindingInput

type InstanceIamBindingInput interface {
	pulumi.Input

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

type InstanceIamBindingMap

type InstanceIamBindingMap map[string]InstanceIamBindingInput

func (InstanceIamBindingMap) ElementType

func (InstanceIamBindingMap) ElementType() reflect.Type

func (InstanceIamBindingMap) ToInstanceIamBindingMapOutput

func (i InstanceIamBindingMap) ToInstanceIamBindingMapOutput() InstanceIamBindingMapOutput

func (InstanceIamBindingMap) ToInstanceIamBindingMapOutputWithContext

func (i InstanceIamBindingMap) ToInstanceIamBindingMapOutputWithContext(ctx context.Context) InstanceIamBindingMapOutput

type InstanceIamBindingMapInput

type InstanceIamBindingMapInput interface {
	pulumi.Input

	ToInstanceIamBindingMapOutput() InstanceIamBindingMapOutput
	ToInstanceIamBindingMapOutputWithContext(context.Context) InstanceIamBindingMapOutput
}

InstanceIamBindingMapInput is an input type that accepts InstanceIamBindingMap and InstanceIamBindingMapOutput values. You can construct a concrete instance of `InstanceIamBindingMapInput` via:

InstanceIamBindingMap{ "key": InstanceIamBindingArgs{...} }

type InstanceIamBindingMapOutput

type InstanceIamBindingMapOutput struct{ *pulumi.OutputState }

func (InstanceIamBindingMapOutput) ElementType

func (InstanceIamBindingMapOutput) MapIndex

func (InstanceIamBindingMapOutput) ToInstanceIamBindingMapOutput

func (o InstanceIamBindingMapOutput) ToInstanceIamBindingMapOutput() InstanceIamBindingMapOutput

func (InstanceIamBindingMapOutput) ToInstanceIamBindingMapOutputWithContext

func (o InstanceIamBindingMapOutput) ToInstanceIamBindingMapOutputWithContext(ctx context.Context) InstanceIamBindingMapOutput

type InstanceIamBindingOutput

type InstanceIamBindingOutput struct{ *pulumi.OutputState }

func (InstanceIamBindingOutput) Condition

func (InstanceIamBindingOutput) ElementType

func (InstanceIamBindingOutput) ElementType() reflect.Type

func (InstanceIamBindingOutput) Etag

func (InstanceIamBindingOutput) InstanceId

func (InstanceIamBindingOutput) Location

func (InstanceIamBindingOutput) Members

func (InstanceIamBindingOutput) Project

func (InstanceIamBindingOutput) Role

func (InstanceIamBindingOutput) ToInstanceIamBindingOutput

func (o InstanceIamBindingOutput) ToInstanceIamBindingOutput() InstanceIamBindingOutput

func (InstanceIamBindingOutput) ToInstanceIamBindingOutputWithContext

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

type InstanceIamBindingState

type InstanceIamBindingState struct {
	Condition  InstanceIamBindingConditionPtrInput
	Etag       pulumi.StringPtrInput
	InstanceId pulumi.StringPtrInput
	Location   pulumi.StringPtrInput
	Members    pulumi.StringArrayInput
	Project    pulumi.StringPtrInput
	Role       pulumi.StringPtrInput
}

func (InstanceIamBindingState) ElementType

func (InstanceIamBindingState) ElementType() reflect.Type

type InstanceIamMember

type InstanceIamMember struct {
	pulumi.CustomResourceState

	Condition  InstanceIamMemberConditionPtrOutput `pulumi:"condition"`
	Etag       pulumi.StringOutput                 `pulumi:"etag"`
	InstanceId pulumi.StringOutput                 `pulumi:"instanceId"`
	Location   pulumi.StringOutput                 `pulumi:"location"`
	Member     pulumi.StringOutput                 `pulumi:"member"`
	Project    pulumi.StringOutput                 `pulumi:"project"`
	Role       pulumi.StringOutput                 `pulumi:"role"`
}

func GetInstanceIamMember

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

GetInstanceIamMember gets an existing InstanceIamMember resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewInstanceIamMember

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

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

func (*InstanceIamMember) ElementType

func (*InstanceIamMember) ElementType() reflect.Type

func (*InstanceIamMember) ToInstanceIamMemberOutput

func (i *InstanceIamMember) ToInstanceIamMemberOutput() InstanceIamMemberOutput

func (*InstanceIamMember) ToInstanceIamMemberOutputWithContext

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

type InstanceIamMemberArgs

type InstanceIamMemberArgs struct {
	Condition  InstanceIamMemberConditionPtrInput
	InstanceId pulumi.StringInput
	Location   pulumi.StringPtrInput
	Member     pulumi.StringInput
	Project    pulumi.StringPtrInput
	Role       pulumi.StringInput
}

The set of arguments for constructing a InstanceIamMember resource.

func (InstanceIamMemberArgs) ElementType

func (InstanceIamMemberArgs) ElementType() reflect.Type

type InstanceIamMemberArray

type InstanceIamMemberArray []InstanceIamMemberInput

func (InstanceIamMemberArray) ElementType

func (InstanceIamMemberArray) ElementType() reflect.Type

func (InstanceIamMemberArray) ToInstanceIamMemberArrayOutput

func (i InstanceIamMemberArray) ToInstanceIamMemberArrayOutput() InstanceIamMemberArrayOutput

func (InstanceIamMemberArray) ToInstanceIamMemberArrayOutputWithContext

func (i InstanceIamMemberArray) ToInstanceIamMemberArrayOutputWithContext(ctx context.Context) InstanceIamMemberArrayOutput

type InstanceIamMemberArrayInput

type InstanceIamMemberArrayInput interface {
	pulumi.Input

	ToInstanceIamMemberArrayOutput() InstanceIamMemberArrayOutput
	ToInstanceIamMemberArrayOutputWithContext(context.Context) InstanceIamMemberArrayOutput
}

InstanceIamMemberArrayInput is an input type that accepts InstanceIamMemberArray and InstanceIamMemberArrayOutput values. You can construct a concrete instance of `InstanceIamMemberArrayInput` via:

InstanceIamMemberArray{ InstanceIamMemberArgs{...} }

type InstanceIamMemberArrayOutput

type InstanceIamMemberArrayOutput struct{ *pulumi.OutputState }

func (InstanceIamMemberArrayOutput) ElementType

func (InstanceIamMemberArrayOutput) Index

func (InstanceIamMemberArrayOutput) ToInstanceIamMemberArrayOutput

func (o InstanceIamMemberArrayOutput) ToInstanceIamMemberArrayOutput() InstanceIamMemberArrayOutput

func (InstanceIamMemberArrayOutput) ToInstanceIamMemberArrayOutputWithContext

func (o InstanceIamMemberArrayOutput) ToInstanceIamMemberArrayOutputWithContext(ctx context.Context) InstanceIamMemberArrayOutput

type InstanceIamMemberCondition

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

type InstanceIamMemberConditionArgs

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

func (InstanceIamMemberConditionArgs) ElementType

func (InstanceIamMemberConditionArgs) ToInstanceIamMemberConditionOutput

func (i InstanceIamMemberConditionArgs) ToInstanceIamMemberConditionOutput() InstanceIamMemberConditionOutput

func (InstanceIamMemberConditionArgs) ToInstanceIamMemberConditionOutputWithContext

func (i InstanceIamMemberConditionArgs) ToInstanceIamMemberConditionOutputWithContext(ctx context.Context) InstanceIamMemberConditionOutput

func (InstanceIamMemberConditionArgs) ToInstanceIamMemberConditionPtrOutput

func (i InstanceIamMemberConditionArgs) ToInstanceIamMemberConditionPtrOutput() InstanceIamMemberConditionPtrOutput

func (InstanceIamMemberConditionArgs) ToInstanceIamMemberConditionPtrOutputWithContext

func (i InstanceIamMemberConditionArgs) ToInstanceIamMemberConditionPtrOutputWithContext(ctx context.Context) InstanceIamMemberConditionPtrOutput

type InstanceIamMemberConditionInput

type InstanceIamMemberConditionInput interface {
	pulumi.Input

	ToInstanceIamMemberConditionOutput() InstanceIamMemberConditionOutput
	ToInstanceIamMemberConditionOutputWithContext(context.Context) InstanceIamMemberConditionOutput
}

InstanceIamMemberConditionInput is an input type that accepts InstanceIamMemberConditionArgs and InstanceIamMemberConditionOutput values. You can construct a concrete instance of `InstanceIamMemberConditionInput` via:

InstanceIamMemberConditionArgs{...}

type InstanceIamMemberConditionOutput

type InstanceIamMemberConditionOutput struct{ *pulumi.OutputState }

func (InstanceIamMemberConditionOutput) Description

func (InstanceIamMemberConditionOutput) ElementType

func (InstanceIamMemberConditionOutput) Expression

func (InstanceIamMemberConditionOutput) Title

func (InstanceIamMemberConditionOutput) ToInstanceIamMemberConditionOutput

func (o InstanceIamMemberConditionOutput) ToInstanceIamMemberConditionOutput() InstanceIamMemberConditionOutput

func (InstanceIamMemberConditionOutput) ToInstanceIamMemberConditionOutputWithContext

func (o InstanceIamMemberConditionOutput) ToInstanceIamMemberConditionOutputWithContext(ctx context.Context) InstanceIamMemberConditionOutput

func (InstanceIamMemberConditionOutput) ToInstanceIamMemberConditionPtrOutput

func (o InstanceIamMemberConditionOutput) ToInstanceIamMemberConditionPtrOutput() InstanceIamMemberConditionPtrOutput

func (InstanceIamMemberConditionOutput) ToInstanceIamMemberConditionPtrOutputWithContext

func (o InstanceIamMemberConditionOutput) ToInstanceIamMemberConditionPtrOutputWithContext(ctx context.Context) InstanceIamMemberConditionPtrOutput

type InstanceIamMemberConditionPtrInput

type InstanceIamMemberConditionPtrInput interface {
	pulumi.Input

	ToInstanceIamMemberConditionPtrOutput() InstanceIamMemberConditionPtrOutput
	ToInstanceIamMemberConditionPtrOutputWithContext(context.Context) InstanceIamMemberConditionPtrOutput
}

InstanceIamMemberConditionPtrInput is an input type that accepts InstanceIamMemberConditionArgs, InstanceIamMemberConditionPtr and InstanceIamMemberConditionPtrOutput values. You can construct a concrete instance of `InstanceIamMemberConditionPtrInput` via:

        InstanceIamMemberConditionArgs{...}

or:

        nil

type InstanceIamMemberConditionPtrOutput

type InstanceIamMemberConditionPtrOutput struct{ *pulumi.OutputState }

func (InstanceIamMemberConditionPtrOutput) Description

func (InstanceIamMemberConditionPtrOutput) Elem

func (InstanceIamMemberConditionPtrOutput) ElementType

func (InstanceIamMemberConditionPtrOutput) Expression

func (InstanceIamMemberConditionPtrOutput) Title

func (InstanceIamMemberConditionPtrOutput) ToInstanceIamMemberConditionPtrOutput

func (o InstanceIamMemberConditionPtrOutput) ToInstanceIamMemberConditionPtrOutput() InstanceIamMemberConditionPtrOutput

func (InstanceIamMemberConditionPtrOutput) ToInstanceIamMemberConditionPtrOutputWithContext

func (o InstanceIamMemberConditionPtrOutput) ToInstanceIamMemberConditionPtrOutputWithContext(ctx context.Context) InstanceIamMemberConditionPtrOutput

type InstanceIamMemberInput

type InstanceIamMemberInput interface {
	pulumi.Input

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

type InstanceIamMemberMap

type InstanceIamMemberMap map[string]InstanceIamMemberInput

func (InstanceIamMemberMap) ElementType

func (InstanceIamMemberMap) ElementType() reflect.Type

func (InstanceIamMemberMap) ToInstanceIamMemberMapOutput

func (i InstanceIamMemberMap) ToInstanceIamMemberMapOutput() InstanceIamMemberMapOutput

func (InstanceIamMemberMap) ToInstanceIamMemberMapOutputWithContext

func (i InstanceIamMemberMap) ToInstanceIamMemberMapOutputWithContext(ctx context.Context) InstanceIamMemberMapOutput

type InstanceIamMemberMapInput

type InstanceIamMemberMapInput interface {
	pulumi.Input

	ToInstanceIamMemberMapOutput() InstanceIamMemberMapOutput
	ToInstanceIamMemberMapOutputWithContext(context.Context) InstanceIamMemberMapOutput
}

InstanceIamMemberMapInput is an input type that accepts InstanceIamMemberMap and InstanceIamMemberMapOutput values. You can construct a concrete instance of `InstanceIamMemberMapInput` via:

InstanceIamMemberMap{ "key": InstanceIamMemberArgs{...} }

type InstanceIamMemberMapOutput

type InstanceIamMemberMapOutput struct{ *pulumi.OutputState }

func (InstanceIamMemberMapOutput) ElementType

func (InstanceIamMemberMapOutput) ElementType() reflect.Type

func (InstanceIamMemberMapOutput) MapIndex

func (InstanceIamMemberMapOutput) ToInstanceIamMemberMapOutput

func (o InstanceIamMemberMapOutput) ToInstanceIamMemberMapOutput() InstanceIamMemberMapOutput

func (InstanceIamMemberMapOutput) ToInstanceIamMemberMapOutputWithContext

func (o InstanceIamMemberMapOutput) ToInstanceIamMemberMapOutputWithContext(ctx context.Context) InstanceIamMemberMapOutput

type InstanceIamMemberOutput

type InstanceIamMemberOutput struct{ *pulumi.OutputState }

func (InstanceIamMemberOutput) Condition

func (InstanceIamMemberOutput) ElementType

func (InstanceIamMemberOutput) ElementType() reflect.Type

func (InstanceIamMemberOutput) Etag

func (InstanceIamMemberOutput) InstanceId

func (InstanceIamMemberOutput) Location

func (InstanceIamMemberOutput) Member

func (InstanceIamMemberOutput) Project

func (InstanceIamMemberOutput) Role

func (InstanceIamMemberOutput) ToInstanceIamMemberOutput

func (o InstanceIamMemberOutput) ToInstanceIamMemberOutput() InstanceIamMemberOutput

func (InstanceIamMemberOutput) ToInstanceIamMemberOutputWithContext

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

type InstanceIamMemberState

type InstanceIamMemberState struct {
	Condition  InstanceIamMemberConditionPtrInput
	Etag       pulumi.StringPtrInput
	InstanceId pulumi.StringPtrInput
	Location   pulumi.StringPtrInput
	Member     pulumi.StringPtrInput
	Project    pulumi.StringPtrInput
	Role       pulumi.StringPtrInput
}

func (InstanceIamMemberState) ElementType

func (InstanceIamMemberState) ElementType() reflect.Type

type InstanceIamPolicy

type InstanceIamPolicy struct {
	pulumi.CustomResourceState

	Etag       pulumi.StringOutput `pulumi:"etag"`
	InstanceId pulumi.StringOutput `pulumi:"instanceId"`
	Location   pulumi.StringOutput `pulumi:"location"`
	PolicyData pulumi.StringOutput `pulumi:"policyData"`
	Project    pulumi.StringOutput `pulumi:"project"`
}

func GetInstanceIamPolicy

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

GetInstanceIamPolicy gets an existing InstanceIamPolicy resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewInstanceIamPolicy

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

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

func (*InstanceIamPolicy) ElementType

func (*InstanceIamPolicy) ElementType() reflect.Type

func (*InstanceIamPolicy) ToInstanceIamPolicyOutput

func (i *InstanceIamPolicy) ToInstanceIamPolicyOutput() InstanceIamPolicyOutput

func (*InstanceIamPolicy) ToInstanceIamPolicyOutputWithContext

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

type InstanceIamPolicyArgs

type InstanceIamPolicyArgs struct {
	InstanceId pulumi.StringInput
	Location   pulumi.StringPtrInput
	PolicyData pulumi.StringInput
	Project    pulumi.StringPtrInput
}

The set of arguments for constructing a InstanceIamPolicy resource.

func (InstanceIamPolicyArgs) ElementType

func (InstanceIamPolicyArgs) ElementType() reflect.Type

type InstanceIamPolicyArray

type InstanceIamPolicyArray []InstanceIamPolicyInput

func (InstanceIamPolicyArray) ElementType

func (InstanceIamPolicyArray) ElementType() reflect.Type

func (InstanceIamPolicyArray) ToInstanceIamPolicyArrayOutput

func (i InstanceIamPolicyArray) ToInstanceIamPolicyArrayOutput() InstanceIamPolicyArrayOutput

func (InstanceIamPolicyArray) ToInstanceIamPolicyArrayOutputWithContext

func (i InstanceIamPolicyArray) ToInstanceIamPolicyArrayOutputWithContext(ctx context.Context) InstanceIamPolicyArrayOutput

type InstanceIamPolicyArrayInput

type InstanceIamPolicyArrayInput interface {
	pulumi.Input

	ToInstanceIamPolicyArrayOutput() InstanceIamPolicyArrayOutput
	ToInstanceIamPolicyArrayOutputWithContext(context.Context) InstanceIamPolicyArrayOutput
}

InstanceIamPolicyArrayInput is an input type that accepts InstanceIamPolicyArray and InstanceIamPolicyArrayOutput values. You can construct a concrete instance of `InstanceIamPolicyArrayInput` via:

InstanceIamPolicyArray{ InstanceIamPolicyArgs{...} }

type InstanceIamPolicyArrayOutput

type InstanceIamPolicyArrayOutput struct{ *pulumi.OutputState }

func (InstanceIamPolicyArrayOutput) ElementType

func (InstanceIamPolicyArrayOutput) Index

func (InstanceIamPolicyArrayOutput) ToInstanceIamPolicyArrayOutput

func (o InstanceIamPolicyArrayOutput) ToInstanceIamPolicyArrayOutput() InstanceIamPolicyArrayOutput

func (InstanceIamPolicyArrayOutput) ToInstanceIamPolicyArrayOutputWithContext

func (o InstanceIamPolicyArrayOutput) ToInstanceIamPolicyArrayOutputWithContext(ctx context.Context) InstanceIamPolicyArrayOutput

type InstanceIamPolicyInput

type InstanceIamPolicyInput interface {
	pulumi.Input

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

type InstanceIamPolicyMap

type InstanceIamPolicyMap map[string]InstanceIamPolicyInput

func (InstanceIamPolicyMap) ElementType

func (InstanceIamPolicyMap) ElementType() reflect.Type

func (InstanceIamPolicyMap) ToInstanceIamPolicyMapOutput

func (i InstanceIamPolicyMap) ToInstanceIamPolicyMapOutput() InstanceIamPolicyMapOutput

func (InstanceIamPolicyMap) ToInstanceIamPolicyMapOutputWithContext

func (i InstanceIamPolicyMap) ToInstanceIamPolicyMapOutputWithContext(ctx context.Context) InstanceIamPolicyMapOutput

type InstanceIamPolicyMapInput

type InstanceIamPolicyMapInput interface {
	pulumi.Input

	ToInstanceIamPolicyMapOutput() InstanceIamPolicyMapOutput
	ToInstanceIamPolicyMapOutputWithContext(context.Context) InstanceIamPolicyMapOutput
}

InstanceIamPolicyMapInput is an input type that accepts InstanceIamPolicyMap and InstanceIamPolicyMapOutput values. You can construct a concrete instance of `InstanceIamPolicyMapInput` via:

InstanceIamPolicyMap{ "key": InstanceIamPolicyArgs{...} }

type InstanceIamPolicyMapOutput

type InstanceIamPolicyMapOutput struct{ *pulumi.OutputState }

func (InstanceIamPolicyMapOutput) ElementType

func (InstanceIamPolicyMapOutput) ElementType() reflect.Type

func (InstanceIamPolicyMapOutput) MapIndex

func (InstanceIamPolicyMapOutput) ToInstanceIamPolicyMapOutput

func (o InstanceIamPolicyMapOutput) ToInstanceIamPolicyMapOutput() InstanceIamPolicyMapOutput

func (InstanceIamPolicyMapOutput) ToInstanceIamPolicyMapOutputWithContext

func (o InstanceIamPolicyMapOutput) ToInstanceIamPolicyMapOutputWithContext(ctx context.Context) InstanceIamPolicyMapOutput

type InstanceIamPolicyOutput

type InstanceIamPolicyOutput struct{ *pulumi.OutputState }

func (InstanceIamPolicyOutput) ElementType

func (InstanceIamPolicyOutput) ElementType() reflect.Type

func (InstanceIamPolicyOutput) Etag

func (InstanceIamPolicyOutput) InstanceId

func (InstanceIamPolicyOutput) Location

func (InstanceIamPolicyOutput) PolicyData

func (InstanceIamPolicyOutput) Project

func (InstanceIamPolicyOutput) ToInstanceIamPolicyOutput

func (o InstanceIamPolicyOutput) ToInstanceIamPolicyOutput() InstanceIamPolicyOutput

func (InstanceIamPolicyOutput) ToInstanceIamPolicyOutputWithContext

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

type InstanceIamPolicyState

type InstanceIamPolicyState struct {
	Etag       pulumi.StringPtrInput
	InstanceId pulumi.StringPtrInput
	Location   pulumi.StringPtrInput
	PolicyData pulumi.StringPtrInput
	Project    pulumi.StringPtrInput
}

func (InstanceIamPolicyState) ElementType

func (InstanceIamPolicyState) ElementType() reflect.Type

type InstanceInput

type InstanceInput interface {
	pulumi.Input

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

type InstanceMap

type InstanceMap map[string]InstanceInput

func (InstanceMap) ElementType

func (InstanceMap) ElementType() reflect.Type

func (InstanceMap) ToInstanceMapOutput

func (i InstanceMap) ToInstanceMapOutput() InstanceMapOutput

func (InstanceMap) ToInstanceMapOutputWithContext

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

type InstanceMapInput

type InstanceMapInput interface {
	pulumi.Input

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

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

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

type InstanceMapOutput

type InstanceMapOutput struct{ *pulumi.OutputState }

func (InstanceMapOutput) ElementType

func (InstanceMapOutput) ElementType() reflect.Type

func (InstanceMapOutput) MapIndex

func (InstanceMapOutput) ToInstanceMapOutput

func (o InstanceMapOutput) ToInstanceMapOutput() InstanceMapOutput

func (InstanceMapOutput) ToInstanceMapOutputWithContext

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

type InstanceOutput

type InstanceOutput struct{ *pulumi.OutputState }

func (InstanceOutput) CreateTime

func (o InstanceOutput) CreateTime() pulumi.StringOutput

Time the Instance was created in UTC.

func (InstanceOutput) EffectiveLabels

func (o InstanceOutput) 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 (InstanceOutput) ElementType

func (InstanceOutput) ElementType() reflect.Type

func (InstanceOutput) HostConfigs added in v7.4.0

A list of hostnames for this instance. Structure is documented below.

func (InstanceOutput) InstanceId

func (o InstanceOutput) InstanceId() pulumi.StringOutput

The name for the Instance.

***

func (InstanceOutput) KmsKey added in v7.4.0

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

func (InstanceOutput) Labels

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 (InstanceOutput) Location

func (o InstanceOutput) Location() pulumi.StringOutput

The location for the Instance.

func (InstanceOutput) Name

The resource name for the Instance.

func (InstanceOutput) PrivateConfig added in v7.4.0

Private settings for private instance. Structure is documented below.

func (InstanceOutput) Project

func (o InstanceOutput) Project() pulumi.StringOutput

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

func (InstanceOutput) PulumiLabels

func (o InstanceOutput) PulumiLabels() pulumi.StringMapOutput

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

func (InstanceOutput) State

The current state of the Instance.

func (InstanceOutput) StateNote added in v7.4.0

func (o InstanceOutput) StateNote() pulumi.StringOutput

Provides information about the current instance state.

func (InstanceOutput) ToInstanceOutput

func (o InstanceOutput) ToInstanceOutput() InstanceOutput

func (InstanceOutput) ToInstanceOutputWithContext

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

func (InstanceOutput) UpdateTime

func (o InstanceOutput) UpdateTime() pulumi.StringOutput

Time the Instance was updated in UTC.

type InstancePrivateConfig added in v7.4.0

type InstancePrivateConfig struct {
	// CA pool resource, resource must in the format of `projects/{project}/locations/{location}/caPools/{ca_pool}`.
	CaPool string `pulumi:"caPool"`
	// (Output)
	// Service Attachment for HTTP, resource is in the format of `projects/{project}/regions/{region}/serviceAttachments/{service_attachment}`.
	HttpServiceAttachment *string `pulumi:"httpServiceAttachment"`
	// 'Indicate if it's private instance.'
	IsPrivate bool `pulumi:"isPrivate"`
	// (Output)
	// Service Attachment for SSH, resource is in the format of `projects/{project}/regions/{region}/serviceAttachments/{service_attachment}`.
	SshServiceAttachment *string `pulumi:"sshServiceAttachment"`
}

type InstancePrivateConfigArgs added in v7.4.0

type InstancePrivateConfigArgs struct {
	// CA pool resource, resource must in the format of `projects/{project}/locations/{location}/caPools/{ca_pool}`.
	CaPool pulumi.StringInput `pulumi:"caPool"`
	// (Output)
	// Service Attachment for HTTP, resource is in the format of `projects/{project}/regions/{region}/serviceAttachments/{service_attachment}`.
	HttpServiceAttachment pulumi.StringPtrInput `pulumi:"httpServiceAttachment"`
	// 'Indicate if it's private instance.'
	IsPrivate pulumi.BoolInput `pulumi:"isPrivate"`
	// (Output)
	// Service Attachment for SSH, resource is in the format of `projects/{project}/regions/{region}/serviceAttachments/{service_attachment}`.
	SshServiceAttachment pulumi.StringPtrInput `pulumi:"sshServiceAttachment"`
}

func (InstancePrivateConfigArgs) ElementType added in v7.4.0

func (InstancePrivateConfigArgs) ElementType() reflect.Type

func (InstancePrivateConfigArgs) ToInstancePrivateConfigOutput added in v7.4.0

func (i InstancePrivateConfigArgs) ToInstancePrivateConfigOutput() InstancePrivateConfigOutput

func (InstancePrivateConfigArgs) ToInstancePrivateConfigOutputWithContext added in v7.4.0

func (i InstancePrivateConfigArgs) ToInstancePrivateConfigOutputWithContext(ctx context.Context) InstancePrivateConfigOutput

func (InstancePrivateConfigArgs) ToInstancePrivateConfigPtrOutput added in v7.4.0

func (i InstancePrivateConfigArgs) ToInstancePrivateConfigPtrOutput() InstancePrivateConfigPtrOutput

func (InstancePrivateConfigArgs) ToInstancePrivateConfigPtrOutputWithContext added in v7.4.0

func (i InstancePrivateConfigArgs) ToInstancePrivateConfigPtrOutputWithContext(ctx context.Context) InstancePrivateConfigPtrOutput

type InstancePrivateConfigInput added in v7.4.0

type InstancePrivateConfigInput interface {
	pulumi.Input

	ToInstancePrivateConfigOutput() InstancePrivateConfigOutput
	ToInstancePrivateConfigOutputWithContext(context.Context) InstancePrivateConfigOutput
}

InstancePrivateConfigInput is an input type that accepts InstancePrivateConfigArgs and InstancePrivateConfigOutput values. You can construct a concrete instance of `InstancePrivateConfigInput` via:

InstancePrivateConfigArgs{...}

type InstancePrivateConfigOutput added in v7.4.0

type InstancePrivateConfigOutput struct{ *pulumi.OutputState }

func (InstancePrivateConfigOutput) CaPool added in v7.4.0

CA pool resource, resource must in the format of `projects/{project}/locations/{location}/caPools/{ca_pool}`.

func (InstancePrivateConfigOutput) ElementType added in v7.4.0

func (InstancePrivateConfigOutput) HttpServiceAttachment added in v7.4.0

func (o InstancePrivateConfigOutput) HttpServiceAttachment() pulumi.StringPtrOutput

(Output) Service Attachment for HTTP, resource is in the format of `projects/{project}/regions/{region}/serviceAttachments/{service_attachment}`.

func (InstancePrivateConfigOutput) IsPrivate added in v7.4.0

'Indicate if it's private instance.'

func (InstancePrivateConfigOutput) SshServiceAttachment added in v7.4.0

func (o InstancePrivateConfigOutput) SshServiceAttachment() pulumi.StringPtrOutput

(Output) Service Attachment for SSH, resource is in the format of `projects/{project}/regions/{region}/serviceAttachments/{service_attachment}`.

func (InstancePrivateConfigOutput) ToInstancePrivateConfigOutput added in v7.4.0

func (o InstancePrivateConfigOutput) ToInstancePrivateConfigOutput() InstancePrivateConfigOutput

func (InstancePrivateConfigOutput) ToInstancePrivateConfigOutputWithContext added in v7.4.0

func (o InstancePrivateConfigOutput) ToInstancePrivateConfigOutputWithContext(ctx context.Context) InstancePrivateConfigOutput

func (InstancePrivateConfigOutput) ToInstancePrivateConfigPtrOutput added in v7.4.0

func (o InstancePrivateConfigOutput) ToInstancePrivateConfigPtrOutput() InstancePrivateConfigPtrOutput

func (InstancePrivateConfigOutput) ToInstancePrivateConfigPtrOutputWithContext added in v7.4.0

func (o InstancePrivateConfigOutput) ToInstancePrivateConfigPtrOutputWithContext(ctx context.Context) InstancePrivateConfigPtrOutput

type InstancePrivateConfigPtrInput added in v7.4.0

type InstancePrivateConfigPtrInput interface {
	pulumi.Input

	ToInstancePrivateConfigPtrOutput() InstancePrivateConfigPtrOutput
	ToInstancePrivateConfigPtrOutputWithContext(context.Context) InstancePrivateConfigPtrOutput
}

InstancePrivateConfigPtrInput is an input type that accepts InstancePrivateConfigArgs, InstancePrivateConfigPtr and InstancePrivateConfigPtrOutput values. You can construct a concrete instance of `InstancePrivateConfigPtrInput` via:

        InstancePrivateConfigArgs{...}

or:

        nil

func InstancePrivateConfigPtr added in v7.4.0

func InstancePrivateConfigPtr(v *InstancePrivateConfigArgs) InstancePrivateConfigPtrInput

type InstancePrivateConfigPtrOutput added in v7.4.0

type InstancePrivateConfigPtrOutput struct{ *pulumi.OutputState }

func (InstancePrivateConfigPtrOutput) CaPool added in v7.4.0

CA pool resource, resource must in the format of `projects/{project}/locations/{location}/caPools/{ca_pool}`.

func (InstancePrivateConfigPtrOutput) Elem added in v7.4.0

func (InstancePrivateConfigPtrOutput) ElementType added in v7.4.0

func (InstancePrivateConfigPtrOutput) HttpServiceAttachment added in v7.4.0

func (o InstancePrivateConfigPtrOutput) HttpServiceAttachment() pulumi.StringPtrOutput

(Output) Service Attachment for HTTP, resource is in the format of `projects/{project}/regions/{region}/serviceAttachments/{service_attachment}`.

func (InstancePrivateConfigPtrOutput) IsPrivate added in v7.4.0

'Indicate if it's private instance.'

func (InstancePrivateConfigPtrOutput) SshServiceAttachment added in v7.4.0

func (o InstancePrivateConfigPtrOutput) SshServiceAttachment() pulumi.StringPtrOutput

(Output) Service Attachment for SSH, resource is in the format of `projects/{project}/regions/{region}/serviceAttachments/{service_attachment}`.

func (InstancePrivateConfigPtrOutput) ToInstancePrivateConfigPtrOutput added in v7.4.0

func (o InstancePrivateConfigPtrOutput) ToInstancePrivateConfigPtrOutput() InstancePrivateConfigPtrOutput

func (InstancePrivateConfigPtrOutput) ToInstancePrivateConfigPtrOutputWithContext added in v7.4.0

func (o InstancePrivateConfigPtrOutput) ToInstancePrivateConfigPtrOutputWithContext(ctx context.Context) InstancePrivateConfigPtrOutput

type InstanceState

type InstanceState struct {
	// Time the Instance was created in UTC.
	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
	// A list of hostnames for this instance.
	// Structure is documented below.
	HostConfigs InstanceHostConfigArrayInput
	// The name for the Instance.
	//
	// ***
	InstanceId pulumi.StringPtrInput
	// Customer-managed encryption key name, in the format projects/*/locations/*/keyRings/*/cryptoKeys/*.
	KmsKey pulumi.StringPtrInput
	// 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 for the Instance.
	Location pulumi.StringPtrInput
	// The resource name for the Instance.
	Name pulumi.StringPtrInput
	// Private settings for private instance.
	// Structure is documented below.
	PrivateConfig InstancePrivateConfigPtrInput
	// 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
	// The current state of the Instance.
	State pulumi.StringPtrInput
	// Provides information about the current instance state.
	StateNote pulumi.StringPtrInput
	// Time the Instance was updated in UTC.
	UpdateTime pulumi.StringPtrInput
}

func (InstanceState) ElementType

func (InstanceState) ElementType() reflect.Type

type LookupInstanceIamPolicyArgs

type LookupInstanceIamPolicyArgs struct {
	// The name for the Instance.
	// Used to find the parent resource to bind the IAM policy to
	InstanceId string `pulumi:"instanceId"`
	// The location for the Instance.
	// 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"`
}

A collection of arguments for invoking getInstanceIamPolicy.

type LookupInstanceIamPolicyOutputArgs

type LookupInstanceIamPolicyOutputArgs struct {
	// The name for the Instance.
	// Used to find the parent resource to bind the IAM policy to
	InstanceId pulumi.StringInput `pulumi:"instanceId"`
	// The location for the Instance.
	// 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"`
}

A collection of arguments for invoking getInstanceIamPolicy.

func (LookupInstanceIamPolicyOutputArgs) ElementType

type LookupInstanceIamPolicyResult

type LookupInstanceIamPolicyResult struct {
	// (Computed) The etag of the IAM policy.
	Etag string `pulumi:"etag"`
	// The provider-assigned unique ID for this managed resource.
	Id         string `pulumi:"id"`
	InstanceId string `pulumi:"instanceId"`
	Location   string `pulumi:"location"`
	// (Required only by `securesourcemanager.InstanceIamPolicy`) The policy data generated by
	// a `organizations.getIAMPolicy` data source.
	PolicyData string `pulumi:"policyData"`
	Project    string `pulumi:"project"`
}

A collection of values returned by getInstanceIamPolicy.

func LookupInstanceIamPolicy

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

Retrieves the current IAM policy data for instance

## example

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/securesourcemanager"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := securesourcemanager.LookupInstanceIamPolicy(ctx, &securesourcemanager.LookupInstanceIamPolicyArgs{
			Project:    pulumi.StringRef(_default.Project),
			Location:   pulumi.StringRef(_default.Location),
			InstanceId: _default.InstanceId,
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

```

type LookupInstanceIamPolicyResultOutput

type LookupInstanceIamPolicyResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getInstanceIamPolicy.

func (LookupInstanceIamPolicyResultOutput) ElementType

func (LookupInstanceIamPolicyResultOutput) Etag

(Computed) The etag of the IAM policy.

func (LookupInstanceIamPolicyResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (LookupInstanceIamPolicyResultOutput) InstanceId

func (LookupInstanceIamPolicyResultOutput) Location

func (LookupInstanceIamPolicyResultOutput) PolicyData

(Required only by `securesourcemanager.InstanceIamPolicy`) The policy data generated by a `organizations.getIAMPolicy` data source.

func (LookupInstanceIamPolicyResultOutput) Project

func (LookupInstanceIamPolicyResultOutput) ToLookupInstanceIamPolicyResultOutput

func (o LookupInstanceIamPolicyResultOutput) ToLookupInstanceIamPolicyResultOutput() LookupInstanceIamPolicyResultOutput

func (LookupInstanceIamPolicyResultOutput) ToLookupInstanceIamPolicyResultOutputWithContext

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

type LookupRepositoryIamPolicyArgs added in v7.31.0

type LookupRepositoryIamPolicyArgs struct {
	// The location for the Repository.
	// 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"`
	// The ID for the Repository.
	// Used to find the parent resource to bind the IAM policy to
	RepositoryId string `pulumi:"repositoryId"`
}

A collection of arguments for invoking getRepositoryIamPolicy.

type LookupRepositoryIamPolicyOutputArgs added in v7.31.0

type LookupRepositoryIamPolicyOutputArgs struct {
	// The location for the Repository.
	// 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"`
	// The ID for the Repository.
	// Used to find the parent resource to bind the IAM policy to
	RepositoryId pulumi.StringInput `pulumi:"repositoryId"`
}

A collection of arguments for invoking getRepositoryIamPolicy.

func (LookupRepositoryIamPolicyOutputArgs) ElementType added in v7.31.0

type LookupRepositoryIamPolicyResult added in v7.31.0

type LookupRepositoryIamPolicyResult struct {
	// (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 `securesourcemanager.RepositoryIamPolicy`) The policy data generated by
	// a `organizations.getIAMPolicy` data source.
	PolicyData   string `pulumi:"policyData"`
	Project      string `pulumi:"project"`
	RepositoryId string `pulumi:"repositoryId"`
}

A collection of values returned by getRepositoryIamPolicy.

func LookupRepositoryIamPolicy added in v7.31.0

func LookupRepositoryIamPolicy(ctx *pulumi.Context, args *LookupRepositoryIamPolicyArgs, opts ...pulumi.InvokeOption) (*LookupRepositoryIamPolicyResult, error)

Retrieves the current IAM policy data for repository

## example

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/securesourcemanager"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := securesourcemanager.LookupRepositoryIamPolicy(ctx, &securesourcemanager.LookupRepositoryIamPolicyArgs{
			Project:      pulumi.StringRef(_default.Project),
			Location:     pulumi.StringRef(_default.Location),
			RepositoryId: _default.RepositoryId,
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

```

type LookupRepositoryIamPolicyResultOutput added in v7.31.0

type LookupRepositoryIamPolicyResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getRepositoryIamPolicy.

func (LookupRepositoryIamPolicyResultOutput) ElementType added in v7.31.0

func (LookupRepositoryIamPolicyResultOutput) Etag added in v7.31.0

(Computed) The etag of the IAM policy.

func (LookupRepositoryIamPolicyResultOutput) Id added in v7.31.0

The provider-assigned unique ID for this managed resource.

func (LookupRepositoryIamPolicyResultOutput) Location added in v7.31.0

func (LookupRepositoryIamPolicyResultOutput) PolicyData added in v7.31.0

(Required only by `securesourcemanager.RepositoryIamPolicy`) The policy data generated by a `organizations.getIAMPolicy` data source.

func (LookupRepositoryIamPolicyResultOutput) Project added in v7.31.0

func (LookupRepositoryIamPolicyResultOutput) RepositoryId added in v7.31.0

func (LookupRepositoryIamPolicyResultOutput) ToLookupRepositoryIamPolicyResultOutput added in v7.31.0

func (o LookupRepositoryIamPolicyResultOutput) ToLookupRepositoryIamPolicyResultOutput() LookupRepositoryIamPolicyResultOutput

func (LookupRepositoryIamPolicyResultOutput) ToLookupRepositoryIamPolicyResultOutputWithContext added in v7.31.0

func (o LookupRepositoryIamPolicyResultOutput) ToLookupRepositoryIamPolicyResultOutputWithContext(ctx context.Context) LookupRepositoryIamPolicyResultOutput

type Repository added in v7.31.0

type Repository struct {
	pulumi.CustomResourceState

	// Time the repository was created in UTC.
	CreateTime pulumi.StringOutput `pulumi:"createTime"`
	// Description of the repository, which cannot exceed 500 characters.
	Description pulumi.StringPtrOutput `pulumi:"description"`
	// Initial configurations for the repository.
	// Structure is documented below.
	InitialConfig RepositoryInitialConfigPtrOutput `pulumi:"initialConfig"`
	// The name of the instance in which the repository is hosted.
	Instance pulumi.StringOutput `pulumi:"instance"`
	// The location for the Repository.
	Location pulumi.StringOutput `pulumi:"location"`
	// The resource name for the Repository.
	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 ID for the Repository.
	//
	// ***
	RepositoryId pulumi.StringOutput `pulumi:"repositoryId"`
	// Unique identifier of the repository.
	Uid pulumi.StringOutput `pulumi:"uid"`
	// Time the repository was updated in UTC.
	UpdateTime pulumi.StringOutput `pulumi:"updateTime"`
	// URIs for the repository.
	// Structure is documented below.
	Uris RepositoryUriArrayOutput `pulumi:"uris"`
}

Repositories store source code. It supports all Git SCM client commands and has built-in pull requests and issue tracking. Both HTTPS and SSH authentication are supported.

To get more information about Repository, see:

* How-to Guides

## Example Usage

### Secure Source Manager Repository Basic

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/securesourcemanager"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		instance, err := securesourcemanager.NewInstance(ctx, "instance", &securesourcemanager.InstanceArgs{
			Location:   pulumi.String("us-central1"),
			InstanceId: pulumi.String("my-instance"),
		})
		if err != nil {
			return err
		}
		_, err = securesourcemanager.NewRepository(ctx, "default", &securesourcemanager.RepositoryArgs{
			Location:     pulumi.String("us-central1"),
			RepositoryId: pulumi.String("my-repository"),
			Instance:     instance.Name,
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` ### Secure Source Manager Repository Initial Config

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/securesourcemanager"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		instance, err := securesourcemanager.NewInstance(ctx, "instance", &securesourcemanager.InstanceArgs{
			Location:   pulumi.String("us-central1"),
			InstanceId: pulumi.String("my-instance"),
		})
		if err != nil {
			return err
		}
		_, err = securesourcemanager.NewRepository(ctx, "default", &securesourcemanager.RepositoryArgs{
			Location:     pulumi.String("us-central1"),
			RepositoryId: pulumi.String("my-repository"),
			Instance:     instance.Name,
			Description:  pulumi.String("This is a test repository"),
			InitialConfig: &securesourcemanager.RepositoryInitialConfigArgs{
				DefaultBranch: pulumi.String("main"),
				Gitignores: pulumi.StringArray{
					pulumi.String("python"),
				},
				License: pulumi.String("mit"),
				Readme:  pulumi.String("default"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Repository can be imported using any of these accepted formats:

* `projects/{{project}}/locations/{{location}}/repositories/{{repository_id}}`

* `{{project}}/{{location}}/{{repository_id}}`

* `{{location}}/{{repository_id}}`

* `{{repository_id}}`

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

```sh $ pulumi import gcp:securesourcemanager/repository:Repository default projects/{{project}}/locations/{{location}}/repositories/{{repository_id}} ```

```sh $ pulumi import gcp:securesourcemanager/repository:Repository default {{project}}/{{location}}/{{repository_id}} ```

```sh $ pulumi import gcp:securesourcemanager/repository:Repository default {{location}}/{{repository_id}} ```

```sh $ pulumi import gcp:securesourcemanager/repository:Repository default {{repository_id}} ```

func GetRepository added in v7.31.0

func GetRepository(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *RepositoryState, opts ...pulumi.ResourceOption) (*Repository, error)

GetRepository gets an existing Repository 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 NewRepository added in v7.31.0

func NewRepository(ctx *pulumi.Context,
	name string, args *RepositoryArgs, opts ...pulumi.ResourceOption) (*Repository, error)

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

func (*Repository) ElementType added in v7.31.0

func (*Repository) ElementType() reflect.Type

func (*Repository) ToRepositoryOutput added in v7.31.0

func (i *Repository) ToRepositoryOutput() RepositoryOutput

func (*Repository) ToRepositoryOutputWithContext added in v7.31.0

func (i *Repository) ToRepositoryOutputWithContext(ctx context.Context) RepositoryOutput

type RepositoryArgs added in v7.31.0

type RepositoryArgs struct {
	// Description of the repository, which cannot exceed 500 characters.
	Description pulumi.StringPtrInput
	// Initial configurations for the repository.
	// Structure is documented below.
	InitialConfig RepositoryInitialConfigPtrInput
	// The name of the instance in which the repository is hosted.
	Instance pulumi.StringInput
	// The location for the Repository.
	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 ID for the Repository.
	//
	// ***
	RepositoryId pulumi.StringInput
}

The set of arguments for constructing a Repository resource.

func (RepositoryArgs) ElementType added in v7.31.0

func (RepositoryArgs) ElementType() reflect.Type

type RepositoryArray added in v7.31.0

type RepositoryArray []RepositoryInput

func (RepositoryArray) ElementType added in v7.31.0

func (RepositoryArray) ElementType() reflect.Type

func (RepositoryArray) ToRepositoryArrayOutput added in v7.31.0

func (i RepositoryArray) ToRepositoryArrayOutput() RepositoryArrayOutput

func (RepositoryArray) ToRepositoryArrayOutputWithContext added in v7.31.0

func (i RepositoryArray) ToRepositoryArrayOutputWithContext(ctx context.Context) RepositoryArrayOutput

type RepositoryArrayInput added in v7.31.0

type RepositoryArrayInput interface {
	pulumi.Input

	ToRepositoryArrayOutput() RepositoryArrayOutput
	ToRepositoryArrayOutputWithContext(context.Context) RepositoryArrayOutput
}

RepositoryArrayInput is an input type that accepts RepositoryArray and RepositoryArrayOutput values. You can construct a concrete instance of `RepositoryArrayInput` via:

RepositoryArray{ RepositoryArgs{...} }

type RepositoryArrayOutput added in v7.31.0

type RepositoryArrayOutput struct{ *pulumi.OutputState }

func (RepositoryArrayOutput) ElementType added in v7.31.0

func (RepositoryArrayOutput) ElementType() reflect.Type

func (RepositoryArrayOutput) Index added in v7.31.0

func (RepositoryArrayOutput) ToRepositoryArrayOutput added in v7.31.0

func (o RepositoryArrayOutput) ToRepositoryArrayOutput() RepositoryArrayOutput

func (RepositoryArrayOutput) ToRepositoryArrayOutputWithContext added in v7.31.0

func (o RepositoryArrayOutput) ToRepositoryArrayOutputWithContext(ctx context.Context) RepositoryArrayOutput

type RepositoryIamBinding added in v7.31.0

type RepositoryIamBinding struct {
	pulumi.CustomResourceState

	Condition RepositoryIamBindingConditionPtrOutput `pulumi:"condition"`
	// (Computed) The etag of the IAM policy.
	Etag pulumi.StringOutput `pulumi:"etag"`
	// The location for the Repository.
	// 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"`
	// The ID for the Repository.
	// Used to find the parent resource to bind the IAM policy to
	RepositoryId pulumi.StringOutput `pulumi:"repositoryId"`
	// The role that should be applied. Only one
	// `securesourcemanager.RepositoryIamBinding` can be used per role. Note that custom roles must be of the format
	// `[projects|organizations]/{parent-name}/roles/{role-name}`.
	Role pulumi.StringOutput `pulumi:"role"`
}

Three different resources help you manage your IAM policy for Secure Source Manager Repository. Each of these resources serves a different use case:

* `securesourcemanager.RepositoryIamPolicy`: Authoritative. Sets the IAM policy for the repository and replaces any existing policy already attached. * `securesourcemanager.RepositoryIamBinding`: Authoritative for a given role. Updates the IAM policy to grant a role to a list of members. Other roles within the IAM policy for the repository are preserved. * `securesourcemanager.RepositoryIamMember`: Non-authoritative. Updates the IAM policy to grant a role to a new member. Other members for the role for the repository are preserved.

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

* `securesourcemanager.RepositoryIamPolicy`: Retrieves the IAM policy for the repository

> **Note:** `securesourcemanager.RepositoryIamPolicy` **cannot** be used in conjunction with `securesourcemanager.RepositoryIamBinding` and `securesourcemanager.RepositoryIamMember` or they will fight over what your policy should be.

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

## securesourcemanager.RepositoryIamPolicy

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/organizations"
"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/securesourcemanager"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		admin, err := organizations.LookupIAMPolicy(ctx, &organizations.LookupIAMPolicyArgs{
			Bindings: []organizations.GetIAMPolicyBinding{
				{
					Role: "roles/securesourcemanager.repoAdmin",
					Members: []string{
						"user:jane@example.com",
					},
				},
			},
		}, nil)
		if err != nil {
			return err
		}
		_, err = securesourcemanager.NewRepositoryIamPolicy(ctx, "policy", &securesourcemanager.RepositoryIamPolicyArgs{
			Project:      pulumi.Any(_default.Project),
			Location:     pulumi.Any(_default.Location),
			RepositoryId: pulumi.Any(_default.RepositoryId),
			PolicyData:   pulumi.String(admin.PolicyData),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## securesourcemanager.RepositoryIamBinding

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/securesourcemanager"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := securesourcemanager.NewRepositoryIamBinding(ctx, "binding", &securesourcemanager.RepositoryIamBindingArgs{
			Project:      pulumi.Any(_default.Project),
			Location:     pulumi.Any(_default.Location),
			RepositoryId: pulumi.Any(_default.RepositoryId),
			Role:         pulumi.String("roles/securesourcemanager.repoAdmin"),
			Members: pulumi.StringArray{
				pulumi.String("user:jane@example.com"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## securesourcemanager.RepositoryIamMember

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/securesourcemanager"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := securesourcemanager.NewRepositoryIamMember(ctx, "member", &securesourcemanager.RepositoryIamMemberArgs{
			Project:      pulumi.Any(_default.Project),
			Location:     pulumi.Any(_default.Location),
			RepositoryId: pulumi.Any(_default.RepositoryId),
			Role:         pulumi.String("roles/securesourcemanager.repoAdmin"),
			Member:       pulumi.String("user:jane@example.com"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## securesourcemanager.RepositoryIamPolicy

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/organizations"
"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/securesourcemanager"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		admin, err := organizations.LookupIAMPolicy(ctx, &organizations.LookupIAMPolicyArgs{
			Bindings: []organizations.GetIAMPolicyBinding{
				{
					Role: "roles/securesourcemanager.repoAdmin",
					Members: []string{
						"user:jane@example.com",
					},
				},
			},
		}, nil)
		if err != nil {
			return err
		}
		_, err = securesourcemanager.NewRepositoryIamPolicy(ctx, "policy", &securesourcemanager.RepositoryIamPolicyArgs{
			Project:      pulumi.Any(_default.Project),
			Location:     pulumi.Any(_default.Location),
			RepositoryId: pulumi.Any(_default.RepositoryId),
			PolicyData:   pulumi.String(admin.PolicyData),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## securesourcemanager.RepositoryIamBinding

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/securesourcemanager"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := securesourcemanager.NewRepositoryIamBinding(ctx, "binding", &securesourcemanager.RepositoryIamBindingArgs{
			Project:      pulumi.Any(_default.Project),
			Location:     pulumi.Any(_default.Location),
			RepositoryId: pulumi.Any(_default.RepositoryId),
			Role:         pulumi.String("roles/securesourcemanager.repoAdmin"),
			Members: pulumi.StringArray{
				pulumi.String("user:jane@example.com"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## securesourcemanager.RepositoryIamMember

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/securesourcemanager"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := securesourcemanager.NewRepositoryIamMember(ctx, "member", &securesourcemanager.RepositoryIamMemberArgs{
			Project:      pulumi.Any(_default.Project),
			Location:     pulumi.Any(_default.Location),
			RepositoryId: pulumi.Any(_default.RepositoryId),
			Role:         pulumi.String("roles/securesourcemanager.repoAdmin"),
			Member:       pulumi.String("user:jane@example.com"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

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

* projects/{{project}}/locations/{{location}}/repositories/{{repository_id}}

* {{project}}/{{location}}/{{repository_id}}

* {{location}}/{{repository_id}}

* {{repository_id}}

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

Secure Source Manager repository 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:securesourcemanager/repositoryIamBinding:RepositoryIamBinding editor "projects/{{project}}/locations/{{location}}/repositories/{{repository_id}} roles/securesourcemanager.repoAdmin user:jane@example.com" ```

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

```sh $ pulumi import gcp:securesourcemanager/repositoryIamBinding:RepositoryIamBinding editor "projects/{{project}}/locations/{{location}}/repositories/{{repository_id}} roles/securesourcemanager.repoAdmin" ```

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

```sh $ pulumi import gcp:securesourcemanager/repositoryIamBinding:RepositoryIamBinding editor projects/{{project}}/locations/{{location}}/repositories/{{repository_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 GetRepositoryIamBinding added in v7.31.0

func GetRepositoryIamBinding(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *RepositoryIamBindingState, opts ...pulumi.ResourceOption) (*RepositoryIamBinding, error)

GetRepositoryIamBinding gets an existing RepositoryIamBinding 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 NewRepositoryIamBinding added in v7.31.0

func NewRepositoryIamBinding(ctx *pulumi.Context,
	name string, args *RepositoryIamBindingArgs, opts ...pulumi.ResourceOption) (*RepositoryIamBinding, error)

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

func (*RepositoryIamBinding) ElementType added in v7.31.0

func (*RepositoryIamBinding) ElementType() reflect.Type

func (*RepositoryIamBinding) ToRepositoryIamBindingOutput added in v7.31.0

func (i *RepositoryIamBinding) ToRepositoryIamBindingOutput() RepositoryIamBindingOutput

func (*RepositoryIamBinding) ToRepositoryIamBindingOutputWithContext added in v7.31.0

func (i *RepositoryIamBinding) ToRepositoryIamBindingOutputWithContext(ctx context.Context) RepositoryIamBindingOutput

type RepositoryIamBindingArgs added in v7.31.0

type RepositoryIamBindingArgs struct {
	Condition RepositoryIamBindingConditionPtrInput
	// The location for the Repository.
	// 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
	// The ID for the Repository.
	// Used to find the parent resource to bind the IAM policy to
	RepositoryId pulumi.StringInput
	// The role that should be applied. Only one
	// `securesourcemanager.RepositoryIamBinding` 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 RepositoryIamBinding resource.

func (RepositoryIamBindingArgs) ElementType added in v7.31.0

func (RepositoryIamBindingArgs) ElementType() reflect.Type

type RepositoryIamBindingArray added in v7.31.0

type RepositoryIamBindingArray []RepositoryIamBindingInput

func (RepositoryIamBindingArray) ElementType added in v7.31.0

func (RepositoryIamBindingArray) ElementType() reflect.Type

func (RepositoryIamBindingArray) ToRepositoryIamBindingArrayOutput added in v7.31.0

func (i RepositoryIamBindingArray) ToRepositoryIamBindingArrayOutput() RepositoryIamBindingArrayOutput

func (RepositoryIamBindingArray) ToRepositoryIamBindingArrayOutputWithContext added in v7.31.0

func (i RepositoryIamBindingArray) ToRepositoryIamBindingArrayOutputWithContext(ctx context.Context) RepositoryIamBindingArrayOutput

type RepositoryIamBindingArrayInput added in v7.31.0

type RepositoryIamBindingArrayInput interface {
	pulumi.Input

	ToRepositoryIamBindingArrayOutput() RepositoryIamBindingArrayOutput
	ToRepositoryIamBindingArrayOutputWithContext(context.Context) RepositoryIamBindingArrayOutput
}

RepositoryIamBindingArrayInput is an input type that accepts RepositoryIamBindingArray and RepositoryIamBindingArrayOutput values. You can construct a concrete instance of `RepositoryIamBindingArrayInput` via:

RepositoryIamBindingArray{ RepositoryIamBindingArgs{...} }

type RepositoryIamBindingArrayOutput added in v7.31.0

type RepositoryIamBindingArrayOutput struct{ *pulumi.OutputState }

func (RepositoryIamBindingArrayOutput) ElementType added in v7.31.0

func (RepositoryIamBindingArrayOutput) Index added in v7.31.0

func (RepositoryIamBindingArrayOutput) ToRepositoryIamBindingArrayOutput added in v7.31.0

func (o RepositoryIamBindingArrayOutput) ToRepositoryIamBindingArrayOutput() RepositoryIamBindingArrayOutput

func (RepositoryIamBindingArrayOutput) ToRepositoryIamBindingArrayOutputWithContext added in v7.31.0

func (o RepositoryIamBindingArrayOutput) ToRepositoryIamBindingArrayOutputWithContext(ctx context.Context) RepositoryIamBindingArrayOutput

type RepositoryIamBindingCondition added in v7.31.0

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

type RepositoryIamBindingConditionArgs added in v7.31.0

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

func (RepositoryIamBindingConditionArgs) ElementType added in v7.31.0

func (RepositoryIamBindingConditionArgs) ToRepositoryIamBindingConditionOutput added in v7.31.0

func (i RepositoryIamBindingConditionArgs) ToRepositoryIamBindingConditionOutput() RepositoryIamBindingConditionOutput

func (RepositoryIamBindingConditionArgs) ToRepositoryIamBindingConditionOutputWithContext added in v7.31.0

func (i RepositoryIamBindingConditionArgs) ToRepositoryIamBindingConditionOutputWithContext(ctx context.Context) RepositoryIamBindingConditionOutput

func (RepositoryIamBindingConditionArgs) ToRepositoryIamBindingConditionPtrOutput added in v7.31.0

func (i RepositoryIamBindingConditionArgs) ToRepositoryIamBindingConditionPtrOutput() RepositoryIamBindingConditionPtrOutput

func (RepositoryIamBindingConditionArgs) ToRepositoryIamBindingConditionPtrOutputWithContext added in v7.31.0

func (i RepositoryIamBindingConditionArgs) ToRepositoryIamBindingConditionPtrOutputWithContext(ctx context.Context) RepositoryIamBindingConditionPtrOutput

type RepositoryIamBindingConditionInput added in v7.31.0

type RepositoryIamBindingConditionInput interface {
	pulumi.Input

	ToRepositoryIamBindingConditionOutput() RepositoryIamBindingConditionOutput
	ToRepositoryIamBindingConditionOutputWithContext(context.Context) RepositoryIamBindingConditionOutput
}

RepositoryIamBindingConditionInput is an input type that accepts RepositoryIamBindingConditionArgs and RepositoryIamBindingConditionOutput values. You can construct a concrete instance of `RepositoryIamBindingConditionInput` via:

RepositoryIamBindingConditionArgs{...}

type RepositoryIamBindingConditionOutput added in v7.31.0

type RepositoryIamBindingConditionOutput struct{ *pulumi.OutputState }

func (RepositoryIamBindingConditionOutput) Description added in v7.31.0

func (RepositoryIamBindingConditionOutput) ElementType added in v7.31.0

func (RepositoryIamBindingConditionOutput) Expression added in v7.31.0

func (RepositoryIamBindingConditionOutput) Title added in v7.31.0

func (RepositoryIamBindingConditionOutput) ToRepositoryIamBindingConditionOutput added in v7.31.0

func (o RepositoryIamBindingConditionOutput) ToRepositoryIamBindingConditionOutput() RepositoryIamBindingConditionOutput

func (RepositoryIamBindingConditionOutput) ToRepositoryIamBindingConditionOutputWithContext added in v7.31.0

func (o RepositoryIamBindingConditionOutput) ToRepositoryIamBindingConditionOutputWithContext(ctx context.Context) RepositoryIamBindingConditionOutput

func (RepositoryIamBindingConditionOutput) ToRepositoryIamBindingConditionPtrOutput added in v7.31.0

func (o RepositoryIamBindingConditionOutput) ToRepositoryIamBindingConditionPtrOutput() RepositoryIamBindingConditionPtrOutput

func (RepositoryIamBindingConditionOutput) ToRepositoryIamBindingConditionPtrOutputWithContext added in v7.31.0

func (o RepositoryIamBindingConditionOutput) ToRepositoryIamBindingConditionPtrOutputWithContext(ctx context.Context) RepositoryIamBindingConditionPtrOutput

type RepositoryIamBindingConditionPtrInput added in v7.31.0

type RepositoryIamBindingConditionPtrInput interface {
	pulumi.Input

	ToRepositoryIamBindingConditionPtrOutput() RepositoryIamBindingConditionPtrOutput
	ToRepositoryIamBindingConditionPtrOutputWithContext(context.Context) RepositoryIamBindingConditionPtrOutput
}

RepositoryIamBindingConditionPtrInput is an input type that accepts RepositoryIamBindingConditionArgs, RepositoryIamBindingConditionPtr and RepositoryIamBindingConditionPtrOutput values. You can construct a concrete instance of `RepositoryIamBindingConditionPtrInput` via:

        RepositoryIamBindingConditionArgs{...}

or:

        nil

type RepositoryIamBindingConditionPtrOutput added in v7.31.0

type RepositoryIamBindingConditionPtrOutput struct{ *pulumi.OutputState }

func (RepositoryIamBindingConditionPtrOutput) Description added in v7.31.0

func (RepositoryIamBindingConditionPtrOutput) Elem added in v7.31.0

func (RepositoryIamBindingConditionPtrOutput) ElementType added in v7.31.0

func (RepositoryIamBindingConditionPtrOutput) Expression added in v7.31.0

func (RepositoryIamBindingConditionPtrOutput) Title added in v7.31.0

func (RepositoryIamBindingConditionPtrOutput) ToRepositoryIamBindingConditionPtrOutput added in v7.31.0

func (o RepositoryIamBindingConditionPtrOutput) ToRepositoryIamBindingConditionPtrOutput() RepositoryIamBindingConditionPtrOutput

func (RepositoryIamBindingConditionPtrOutput) ToRepositoryIamBindingConditionPtrOutputWithContext added in v7.31.0

func (o RepositoryIamBindingConditionPtrOutput) ToRepositoryIamBindingConditionPtrOutputWithContext(ctx context.Context) RepositoryIamBindingConditionPtrOutput

type RepositoryIamBindingInput added in v7.31.0

type RepositoryIamBindingInput interface {
	pulumi.Input

	ToRepositoryIamBindingOutput() RepositoryIamBindingOutput
	ToRepositoryIamBindingOutputWithContext(ctx context.Context) RepositoryIamBindingOutput
}

type RepositoryIamBindingMap added in v7.31.0

type RepositoryIamBindingMap map[string]RepositoryIamBindingInput

func (RepositoryIamBindingMap) ElementType added in v7.31.0

func (RepositoryIamBindingMap) ElementType() reflect.Type

func (RepositoryIamBindingMap) ToRepositoryIamBindingMapOutput added in v7.31.0

func (i RepositoryIamBindingMap) ToRepositoryIamBindingMapOutput() RepositoryIamBindingMapOutput

func (RepositoryIamBindingMap) ToRepositoryIamBindingMapOutputWithContext added in v7.31.0

func (i RepositoryIamBindingMap) ToRepositoryIamBindingMapOutputWithContext(ctx context.Context) RepositoryIamBindingMapOutput

type RepositoryIamBindingMapInput added in v7.31.0

type RepositoryIamBindingMapInput interface {
	pulumi.Input

	ToRepositoryIamBindingMapOutput() RepositoryIamBindingMapOutput
	ToRepositoryIamBindingMapOutputWithContext(context.Context) RepositoryIamBindingMapOutput
}

RepositoryIamBindingMapInput is an input type that accepts RepositoryIamBindingMap and RepositoryIamBindingMapOutput values. You can construct a concrete instance of `RepositoryIamBindingMapInput` via:

RepositoryIamBindingMap{ "key": RepositoryIamBindingArgs{...} }

type RepositoryIamBindingMapOutput added in v7.31.0

type RepositoryIamBindingMapOutput struct{ *pulumi.OutputState }

func (RepositoryIamBindingMapOutput) ElementType added in v7.31.0

func (RepositoryIamBindingMapOutput) MapIndex added in v7.31.0

func (RepositoryIamBindingMapOutput) ToRepositoryIamBindingMapOutput added in v7.31.0

func (o RepositoryIamBindingMapOutput) ToRepositoryIamBindingMapOutput() RepositoryIamBindingMapOutput

func (RepositoryIamBindingMapOutput) ToRepositoryIamBindingMapOutputWithContext added in v7.31.0

func (o RepositoryIamBindingMapOutput) ToRepositoryIamBindingMapOutputWithContext(ctx context.Context) RepositoryIamBindingMapOutput

type RepositoryIamBindingOutput added in v7.31.0

type RepositoryIamBindingOutput struct{ *pulumi.OutputState }

func (RepositoryIamBindingOutput) Condition added in v7.31.0

func (RepositoryIamBindingOutput) ElementType added in v7.31.0

func (RepositoryIamBindingOutput) ElementType() reflect.Type

func (RepositoryIamBindingOutput) Etag added in v7.31.0

(Computed) The etag of the IAM policy.

func (RepositoryIamBindingOutput) Location added in v7.31.0

The location for the Repository. 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 (RepositoryIamBindingOutput) Members added in v7.31.0

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 (RepositoryIamBindingOutput) Project added in v7.31.0

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

func (RepositoryIamBindingOutput) RepositoryId added in v7.31.0

The ID for the Repository. Used to find the parent resource to bind the IAM policy to

func (RepositoryIamBindingOutput) Role added in v7.31.0

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

func (RepositoryIamBindingOutput) ToRepositoryIamBindingOutput added in v7.31.0

func (o RepositoryIamBindingOutput) ToRepositoryIamBindingOutput() RepositoryIamBindingOutput

func (RepositoryIamBindingOutput) ToRepositoryIamBindingOutputWithContext added in v7.31.0

func (o RepositoryIamBindingOutput) ToRepositoryIamBindingOutputWithContext(ctx context.Context) RepositoryIamBindingOutput

type RepositoryIamBindingState added in v7.31.0

type RepositoryIamBindingState struct {
	Condition RepositoryIamBindingConditionPtrInput
	// (Computed) The etag of the IAM policy.
	Etag pulumi.StringPtrInput
	// The location for the Repository.
	// 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
	// The ID for the Repository.
	// Used to find the parent resource to bind the IAM policy to
	RepositoryId pulumi.StringPtrInput
	// The role that should be applied. Only one
	// `securesourcemanager.RepositoryIamBinding` 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 (RepositoryIamBindingState) ElementType added in v7.31.0

func (RepositoryIamBindingState) ElementType() reflect.Type

type RepositoryIamMember added in v7.31.0

type RepositoryIamMember struct {
	pulumi.CustomResourceState

	Condition RepositoryIamMemberConditionPtrOutput `pulumi:"condition"`
	// (Computed) The etag of the IAM policy.
	Etag pulumi.StringOutput `pulumi:"etag"`
	// The location for the Repository.
	// 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"`
	// The ID for the Repository.
	// Used to find the parent resource to bind the IAM policy to
	RepositoryId pulumi.StringOutput `pulumi:"repositoryId"`
	// The role that should be applied. Only one
	// `securesourcemanager.RepositoryIamBinding` can be used per role. Note that custom roles must be of the format
	// `[projects|organizations]/{parent-name}/roles/{role-name}`.
	Role pulumi.StringOutput `pulumi:"role"`
}

Three different resources help you manage your IAM policy for Secure Source Manager Repository. Each of these resources serves a different use case:

* `securesourcemanager.RepositoryIamPolicy`: Authoritative. Sets the IAM policy for the repository and replaces any existing policy already attached. * `securesourcemanager.RepositoryIamBinding`: Authoritative for a given role. Updates the IAM policy to grant a role to a list of members. Other roles within the IAM policy for the repository are preserved. * `securesourcemanager.RepositoryIamMember`: Non-authoritative. Updates the IAM policy to grant a role to a new member. Other members for the role for the repository are preserved.

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

* `securesourcemanager.RepositoryIamPolicy`: Retrieves the IAM policy for the repository

> **Note:** `securesourcemanager.RepositoryIamPolicy` **cannot** be used in conjunction with `securesourcemanager.RepositoryIamBinding` and `securesourcemanager.RepositoryIamMember` or they will fight over what your policy should be.

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

## securesourcemanager.RepositoryIamPolicy

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/organizations"
"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/securesourcemanager"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		admin, err := organizations.LookupIAMPolicy(ctx, &organizations.LookupIAMPolicyArgs{
			Bindings: []organizations.GetIAMPolicyBinding{
				{
					Role: "roles/securesourcemanager.repoAdmin",
					Members: []string{
						"user:jane@example.com",
					},
				},
			},
		}, nil)
		if err != nil {
			return err
		}
		_, err = securesourcemanager.NewRepositoryIamPolicy(ctx, "policy", &securesourcemanager.RepositoryIamPolicyArgs{
			Project:      pulumi.Any(_default.Project),
			Location:     pulumi.Any(_default.Location),
			RepositoryId: pulumi.Any(_default.RepositoryId),
			PolicyData:   pulumi.String(admin.PolicyData),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## securesourcemanager.RepositoryIamBinding

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/securesourcemanager"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := securesourcemanager.NewRepositoryIamBinding(ctx, "binding", &securesourcemanager.RepositoryIamBindingArgs{
			Project:      pulumi.Any(_default.Project),
			Location:     pulumi.Any(_default.Location),
			RepositoryId: pulumi.Any(_default.RepositoryId),
			Role:         pulumi.String("roles/securesourcemanager.repoAdmin"),
			Members: pulumi.StringArray{
				pulumi.String("user:jane@example.com"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## securesourcemanager.RepositoryIamMember

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/securesourcemanager"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := securesourcemanager.NewRepositoryIamMember(ctx, "member", &securesourcemanager.RepositoryIamMemberArgs{
			Project:      pulumi.Any(_default.Project),
			Location:     pulumi.Any(_default.Location),
			RepositoryId: pulumi.Any(_default.RepositoryId),
			Role:         pulumi.String("roles/securesourcemanager.repoAdmin"),
			Member:       pulumi.String("user:jane@example.com"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## securesourcemanager.RepositoryIamPolicy

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/organizations"
"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/securesourcemanager"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		admin, err := organizations.LookupIAMPolicy(ctx, &organizations.LookupIAMPolicyArgs{
			Bindings: []organizations.GetIAMPolicyBinding{
				{
					Role: "roles/securesourcemanager.repoAdmin",
					Members: []string{
						"user:jane@example.com",
					},
				},
			},
		}, nil)
		if err != nil {
			return err
		}
		_, err = securesourcemanager.NewRepositoryIamPolicy(ctx, "policy", &securesourcemanager.RepositoryIamPolicyArgs{
			Project:      pulumi.Any(_default.Project),
			Location:     pulumi.Any(_default.Location),
			RepositoryId: pulumi.Any(_default.RepositoryId),
			PolicyData:   pulumi.String(admin.PolicyData),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## securesourcemanager.RepositoryIamBinding

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/securesourcemanager"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := securesourcemanager.NewRepositoryIamBinding(ctx, "binding", &securesourcemanager.RepositoryIamBindingArgs{
			Project:      pulumi.Any(_default.Project),
			Location:     pulumi.Any(_default.Location),
			RepositoryId: pulumi.Any(_default.RepositoryId),
			Role:         pulumi.String("roles/securesourcemanager.repoAdmin"),
			Members: pulumi.StringArray{
				pulumi.String("user:jane@example.com"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## securesourcemanager.RepositoryIamMember

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/securesourcemanager"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := securesourcemanager.NewRepositoryIamMember(ctx, "member", &securesourcemanager.RepositoryIamMemberArgs{
			Project:      pulumi.Any(_default.Project),
			Location:     pulumi.Any(_default.Location),
			RepositoryId: pulumi.Any(_default.RepositoryId),
			Role:         pulumi.String("roles/securesourcemanager.repoAdmin"),
			Member:       pulumi.String("user:jane@example.com"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

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

* projects/{{project}}/locations/{{location}}/repositories/{{repository_id}}

* {{project}}/{{location}}/{{repository_id}}

* {{location}}/{{repository_id}}

* {{repository_id}}

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

Secure Source Manager repository 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:securesourcemanager/repositoryIamMember:RepositoryIamMember editor "projects/{{project}}/locations/{{location}}/repositories/{{repository_id}} roles/securesourcemanager.repoAdmin user:jane@example.com" ```

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

```sh $ pulumi import gcp:securesourcemanager/repositoryIamMember:RepositoryIamMember editor "projects/{{project}}/locations/{{location}}/repositories/{{repository_id}} roles/securesourcemanager.repoAdmin" ```

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

```sh $ pulumi import gcp:securesourcemanager/repositoryIamMember:RepositoryIamMember editor projects/{{project}}/locations/{{location}}/repositories/{{repository_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 GetRepositoryIamMember added in v7.31.0

func GetRepositoryIamMember(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *RepositoryIamMemberState, opts ...pulumi.ResourceOption) (*RepositoryIamMember, error)

GetRepositoryIamMember gets an existing RepositoryIamMember 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 NewRepositoryIamMember added in v7.31.0

func NewRepositoryIamMember(ctx *pulumi.Context,
	name string, args *RepositoryIamMemberArgs, opts ...pulumi.ResourceOption) (*RepositoryIamMember, error)

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

func (*RepositoryIamMember) ElementType added in v7.31.0

func (*RepositoryIamMember) ElementType() reflect.Type

func (*RepositoryIamMember) ToRepositoryIamMemberOutput added in v7.31.0

func (i *RepositoryIamMember) ToRepositoryIamMemberOutput() RepositoryIamMemberOutput

func (*RepositoryIamMember) ToRepositoryIamMemberOutputWithContext added in v7.31.0

func (i *RepositoryIamMember) ToRepositoryIamMemberOutputWithContext(ctx context.Context) RepositoryIamMemberOutput

type RepositoryIamMemberArgs added in v7.31.0

type RepositoryIamMemberArgs struct {
	Condition RepositoryIamMemberConditionPtrInput
	// The location for the Repository.
	// 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
	// The ID for the Repository.
	// Used to find the parent resource to bind the IAM policy to
	RepositoryId pulumi.StringInput
	// The role that should be applied. Only one
	// `securesourcemanager.RepositoryIamBinding` 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 RepositoryIamMember resource.

func (RepositoryIamMemberArgs) ElementType added in v7.31.0

func (RepositoryIamMemberArgs) ElementType() reflect.Type

type RepositoryIamMemberArray added in v7.31.0

type RepositoryIamMemberArray []RepositoryIamMemberInput

func (RepositoryIamMemberArray) ElementType added in v7.31.0

func (RepositoryIamMemberArray) ElementType() reflect.Type

func (RepositoryIamMemberArray) ToRepositoryIamMemberArrayOutput added in v7.31.0

func (i RepositoryIamMemberArray) ToRepositoryIamMemberArrayOutput() RepositoryIamMemberArrayOutput

func (RepositoryIamMemberArray) ToRepositoryIamMemberArrayOutputWithContext added in v7.31.0

func (i RepositoryIamMemberArray) ToRepositoryIamMemberArrayOutputWithContext(ctx context.Context) RepositoryIamMemberArrayOutput

type RepositoryIamMemberArrayInput added in v7.31.0

type RepositoryIamMemberArrayInput interface {
	pulumi.Input

	ToRepositoryIamMemberArrayOutput() RepositoryIamMemberArrayOutput
	ToRepositoryIamMemberArrayOutputWithContext(context.Context) RepositoryIamMemberArrayOutput
}

RepositoryIamMemberArrayInput is an input type that accepts RepositoryIamMemberArray and RepositoryIamMemberArrayOutput values. You can construct a concrete instance of `RepositoryIamMemberArrayInput` via:

RepositoryIamMemberArray{ RepositoryIamMemberArgs{...} }

type RepositoryIamMemberArrayOutput added in v7.31.0

type RepositoryIamMemberArrayOutput struct{ *pulumi.OutputState }

func (RepositoryIamMemberArrayOutput) ElementType added in v7.31.0

func (RepositoryIamMemberArrayOutput) Index added in v7.31.0

func (RepositoryIamMemberArrayOutput) ToRepositoryIamMemberArrayOutput added in v7.31.0

func (o RepositoryIamMemberArrayOutput) ToRepositoryIamMemberArrayOutput() RepositoryIamMemberArrayOutput

func (RepositoryIamMemberArrayOutput) ToRepositoryIamMemberArrayOutputWithContext added in v7.31.0

func (o RepositoryIamMemberArrayOutput) ToRepositoryIamMemberArrayOutputWithContext(ctx context.Context) RepositoryIamMemberArrayOutput

type RepositoryIamMemberCondition added in v7.31.0

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

type RepositoryIamMemberConditionArgs added in v7.31.0

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

func (RepositoryIamMemberConditionArgs) ElementType added in v7.31.0

func (RepositoryIamMemberConditionArgs) ToRepositoryIamMemberConditionOutput added in v7.31.0

func (i RepositoryIamMemberConditionArgs) ToRepositoryIamMemberConditionOutput() RepositoryIamMemberConditionOutput

func (RepositoryIamMemberConditionArgs) ToRepositoryIamMemberConditionOutputWithContext added in v7.31.0

func (i RepositoryIamMemberConditionArgs) ToRepositoryIamMemberConditionOutputWithContext(ctx context.Context) RepositoryIamMemberConditionOutput

func (RepositoryIamMemberConditionArgs) ToRepositoryIamMemberConditionPtrOutput added in v7.31.0

func (i RepositoryIamMemberConditionArgs) ToRepositoryIamMemberConditionPtrOutput() RepositoryIamMemberConditionPtrOutput

func (RepositoryIamMemberConditionArgs) ToRepositoryIamMemberConditionPtrOutputWithContext added in v7.31.0

func (i RepositoryIamMemberConditionArgs) ToRepositoryIamMemberConditionPtrOutputWithContext(ctx context.Context) RepositoryIamMemberConditionPtrOutput

type RepositoryIamMemberConditionInput added in v7.31.0

type RepositoryIamMemberConditionInput interface {
	pulumi.Input

	ToRepositoryIamMemberConditionOutput() RepositoryIamMemberConditionOutput
	ToRepositoryIamMemberConditionOutputWithContext(context.Context) RepositoryIamMemberConditionOutput
}

RepositoryIamMemberConditionInput is an input type that accepts RepositoryIamMemberConditionArgs and RepositoryIamMemberConditionOutput values. You can construct a concrete instance of `RepositoryIamMemberConditionInput` via:

RepositoryIamMemberConditionArgs{...}

type RepositoryIamMemberConditionOutput added in v7.31.0

type RepositoryIamMemberConditionOutput struct{ *pulumi.OutputState }

func (RepositoryIamMemberConditionOutput) Description added in v7.31.0

func (RepositoryIamMemberConditionOutput) ElementType added in v7.31.0

func (RepositoryIamMemberConditionOutput) Expression added in v7.31.0

func (RepositoryIamMemberConditionOutput) Title added in v7.31.0

func (RepositoryIamMemberConditionOutput) ToRepositoryIamMemberConditionOutput added in v7.31.0

func (o RepositoryIamMemberConditionOutput) ToRepositoryIamMemberConditionOutput() RepositoryIamMemberConditionOutput

func (RepositoryIamMemberConditionOutput) ToRepositoryIamMemberConditionOutputWithContext added in v7.31.0

func (o RepositoryIamMemberConditionOutput) ToRepositoryIamMemberConditionOutputWithContext(ctx context.Context) RepositoryIamMemberConditionOutput

func (RepositoryIamMemberConditionOutput) ToRepositoryIamMemberConditionPtrOutput added in v7.31.0

func (o RepositoryIamMemberConditionOutput) ToRepositoryIamMemberConditionPtrOutput() RepositoryIamMemberConditionPtrOutput

func (RepositoryIamMemberConditionOutput) ToRepositoryIamMemberConditionPtrOutputWithContext added in v7.31.0

func (o RepositoryIamMemberConditionOutput) ToRepositoryIamMemberConditionPtrOutputWithContext(ctx context.Context) RepositoryIamMemberConditionPtrOutput

type RepositoryIamMemberConditionPtrInput added in v7.31.0

type RepositoryIamMemberConditionPtrInput interface {
	pulumi.Input

	ToRepositoryIamMemberConditionPtrOutput() RepositoryIamMemberConditionPtrOutput
	ToRepositoryIamMemberConditionPtrOutputWithContext(context.Context) RepositoryIamMemberConditionPtrOutput
}

RepositoryIamMemberConditionPtrInput is an input type that accepts RepositoryIamMemberConditionArgs, RepositoryIamMemberConditionPtr and RepositoryIamMemberConditionPtrOutput values. You can construct a concrete instance of `RepositoryIamMemberConditionPtrInput` via:

        RepositoryIamMemberConditionArgs{...}

or:

        nil

func RepositoryIamMemberConditionPtr added in v7.31.0

type RepositoryIamMemberConditionPtrOutput added in v7.31.0

type RepositoryIamMemberConditionPtrOutput struct{ *pulumi.OutputState }

func (RepositoryIamMemberConditionPtrOutput) Description added in v7.31.0

func (RepositoryIamMemberConditionPtrOutput) Elem added in v7.31.0

func (RepositoryIamMemberConditionPtrOutput) ElementType added in v7.31.0

func (RepositoryIamMemberConditionPtrOutput) Expression added in v7.31.0

func (RepositoryIamMemberConditionPtrOutput) Title added in v7.31.0

func (RepositoryIamMemberConditionPtrOutput) ToRepositoryIamMemberConditionPtrOutput added in v7.31.0

func (o RepositoryIamMemberConditionPtrOutput) ToRepositoryIamMemberConditionPtrOutput() RepositoryIamMemberConditionPtrOutput

func (RepositoryIamMemberConditionPtrOutput) ToRepositoryIamMemberConditionPtrOutputWithContext added in v7.31.0

func (o RepositoryIamMemberConditionPtrOutput) ToRepositoryIamMemberConditionPtrOutputWithContext(ctx context.Context) RepositoryIamMemberConditionPtrOutput

type RepositoryIamMemberInput added in v7.31.0

type RepositoryIamMemberInput interface {
	pulumi.Input

	ToRepositoryIamMemberOutput() RepositoryIamMemberOutput
	ToRepositoryIamMemberOutputWithContext(ctx context.Context) RepositoryIamMemberOutput
}

type RepositoryIamMemberMap added in v7.31.0

type RepositoryIamMemberMap map[string]RepositoryIamMemberInput

func (RepositoryIamMemberMap) ElementType added in v7.31.0

func (RepositoryIamMemberMap) ElementType() reflect.Type

func (RepositoryIamMemberMap) ToRepositoryIamMemberMapOutput added in v7.31.0

func (i RepositoryIamMemberMap) ToRepositoryIamMemberMapOutput() RepositoryIamMemberMapOutput

func (RepositoryIamMemberMap) ToRepositoryIamMemberMapOutputWithContext added in v7.31.0

func (i RepositoryIamMemberMap) ToRepositoryIamMemberMapOutputWithContext(ctx context.Context) RepositoryIamMemberMapOutput

type RepositoryIamMemberMapInput added in v7.31.0

type RepositoryIamMemberMapInput interface {
	pulumi.Input

	ToRepositoryIamMemberMapOutput() RepositoryIamMemberMapOutput
	ToRepositoryIamMemberMapOutputWithContext(context.Context) RepositoryIamMemberMapOutput
}

RepositoryIamMemberMapInput is an input type that accepts RepositoryIamMemberMap and RepositoryIamMemberMapOutput values. You can construct a concrete instance of `RepositoryIamMemberMapInput` via:

RepositoryIamMemberMap{ "key": RepositoryIamMemberArgs{...} }

type RepositoryIamMemberMapOutput added in v7.31.0

type RepositoryIamMemberMapOutput struct{ *pulumi.OutputState }

func (RepositoryIamMemberMapOutput) ElementType added in v7.31.0

func (RepositoryIamMemberMapOutput) MapIndex added in v7.31.0

func (RepositoryIamMemberMapOutput) ToRepositoryIamMemberMapOutput added in v7.31.0

func (o RepositoryIamMemberMapOutput) ToRepositoryIamMemberMapOutput() RepositoryIamMemberMapOutput

func (RepositoryIamMemberMapOutput) ToRepositoryIamMemberMapOutputWithContext added in v7.31.0

func (o RepositoryIamMemberMapOutput) ToRepositoryIamMemberMapOutputWithContext(ctx context.Context) RepositoryIamMemberMapOutput

type RepositoryIamMemberOutput added in v7.31.0

type RepositoryIamMemberOutput struct{ *pulumi.OutputState }

func (RepositoryIamMemberOutput) Condition added in v7.31.0

func (RepositoryIamMemberOutput) ElementType added in v7.31.0

func (RepositoryIamMemberOutput) ElementType() reflect.Type

func (RepositoryIamMemberOutput) Etag added in v7.31.0

(Computed) The etag of the IAM policy.

func (RepositoryIamMemberOutput) Location added in v7.31.0

The location for the Repository. 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 (RepositoryIamMemberOutput) Member added in v7.31.0

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 (RepositoryIamMemberOutput) Project added in v7.31.0

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

func (RepositoryIamMemberOutput) RepositoryId added in v7.31.0

The ID for the Repository. Used to find the parent resource to bind the IAM policy to

func (RepositoryIamMemberOutput) Role added in v7.31.0

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

func (RepositoryIamMemberOutput) ToRepositoryIamMemberOutput added in v7.31.0

func (o RepositoryIamMemberOutput) ToRepositoryIamMemberOutput() RepositoryIamMemberOutput

func (RepositoryIamMemberOutput) ToRepositoryIamMemberOutputWithContext added in v7.31.0

func (o RepositoryIamMemberOutput) ToRepositoryIamMemberOutputWithContext(ctx context.Context) RepositoryIamMemberOutput

type RepositoryIamMemberState added in v7.31.0

type RepositoryIamMemberState struct {
	Condition RepositoryIamMemberConditionPtrInput
	// (Computed) The etag of the IAM policy.
	Etag pulumi.StringPtrInput
	// The location for the Repository.
	// 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
	// The ID for the Repository.
	// Used to find the parent resource to bind the IAM policy to
	RepositoryId pulumi.StringPtrInput
	// The role that should be applied. Only one
	// `securesourcemanager.RepositoryIamBinding` 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 (RepositoryIamMemberState) ElementType added in v7.31.0

func (RepositoryIamMemberState) ElementType() reflect.Type

type RepositoryIamPolicy added in v7.31.0

type RepositoryIamPolicy struct {
	pulumi.CustomResourceState

	// (Computed) The etag of the IAM policy.
	Etag pulumi.StringOutput `pulumi:"etag"`
	// The location for the Repository.
	// 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"`
	// The ID for the Repository.
	// Used to find the parent resource to bind the IAM policy to
	RepositoryId pulumi.StringOutput `pulumi:"repositoryId"`
}

Three different resources help you manage your IAM policy for Secure Source Manager Repository. Each of these resources serves a different use case:

* `securesourcemanager.RepositoryIamPolicy`: Authoritative. Sets the IAM policy for the repository and replaces any existing policy already attached. * `securesourcemanager.RepositoryIamBinding`: Authoritative for a given role. Updates the IAM policy to grant a role to a list of members. Other roles within the IAM policy for the repository are preserved. * `securesourcemanager.RepositoryIamMember`: Non-authoritative. Updates the IAM policy to grant a role to a new member. Other members for the role for the repository are preserved.

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

* `securesourcemanager.RepositoryIamPolicy`: Retrieves the IAM policy for the repository

> **Note:** `securesourcemanager.RepositoryIamPolicy` **cannot** be used in conjunction with `securesourcemanager.RepositoryIamBinding` and `securesourcemanager.RepositoryIamMember` or they will fight over what your policy should be.

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

## securesourcemanager.RepositoryIamPolicy

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/organizations"
"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/securesourcemanager"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		admin, err := organizations.LookupIAMPolicy(ctx, &organizations.LookupIAMPolicyArgs{
			Bindings: []organizations.GetIAMPolicyBinding{
				{
					Role: "roles/securesourcemanager.repoAdmin",
					Members: []string{
						"user:jane@example.com",
					},
				},
			},
		}, nil)
		if err != nil {
			return err
		}
		_, err = securesourcemanager.NewRepositoryIamPolicy(ctx, "policy", &securesourcemanager.RepositoryIamPolicyArgs{
			Project:      pulumi.Any(_default.Project),
			Location:     pulumi.Any(_default.Location),
			RepositoryId: pulumi.Any(_default.RepositoryId),
			PolicyData:   pulumi.String(admin.PolicyData),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## securesourcemanager.RepositoryIamBinding

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/securesourcemanager"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := securesourcemanager.NewRepositoryIamBinding(ctx, "binding", &securesourcemanager.RepositoryIamBindingArgs{
			Project:      pulumi.Any(_default.Project),
			Location:     pulumi.Any(_default.Location),
			RepositoryId: pulumi.Any(_default.RepositoryId),
			Role:         pulumi.String("roles/securesourcemanager.repoAdmin"),
			Members: pulumi.StringArray{
				pulumi.String("user:jane@example.com"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## securesourcemanager.RepositoryIamMember

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/securesourcemanager"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := securesourcemanager.NewRepositoryIamMember(ctx, "member", &securesourcemanager.RepositoryIamMemberArgs{
			Project:      pulumi.Any(_default.Project),
			Location:     pulumi.Any(_default.Location),
			RepositoryId: pulumi.Any(_default.RepositoryId),
			Role:         pulumi.String("roles/securesourcemanager.repoAdmin"),
			Member:       pulumi.String("user:jane@example.com"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## securesourcemanager.RepositoryIamPolicy

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/organizations"
"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/securesourcemanager"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		admin, err := organizations.LookupIAMPolicy(ctx, &organizations.LookupIAMPolicyArgs{
			Bindings: []organizations.GetIAMPolicyBinding{
				{
					Role: "roles/securesourcemanager.repoAdmin",
					Members: []string{
						"user:jane@example.com",
					},
				},
			},
		}, nil)
		if err != nil {
			return err
		}
		_, err = securesourcemanager.NewRepositoryIamPolicy(ctx, "policy", &securesourcemanager.RepositoryIamPolicyArgs{
			Project:      pulumi.Any(_default.Project),
			Location:     pulumi.Any(_default.Location),
			RepositoryId: pulumi.Any(_default.RepositoryId),
			PolicyData:   pulumi.String(admin.PolicyData),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## securesourcemanager.RepositoryIamBinding

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/securesourcemanager"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := securesourcemanager.NewRepositoryIamBinding(ctx, "binding", &securesourcemanager.RepositoryIamBindingArgs{
			Project:      pulumi.Any(_default.Project),
			Location:     pulumi.Any(_default.Location),
			RepositoryId: pulumi.Any(_default.RepositoryId),
			Role:         pulumi.String("roles/securesourcemanager.repoAdmin"),
			Members: pulumi.StringArray{
				pulumi.String("user:jane@example.com"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## securesourcemanager.RepositoryIamMember

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/securesourcemanager"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := securesourcemanager.NewRepositoryIamMember(ctx, "member", &securesourcemanager.RepositoryIamMemberArgs{
			Project:      pulumi.Any(_default.Project),
			Location:     pulumi.Any(_default.Location),
			RepositoryId: pulumi.Any(_default.RepositoryId),
			Role:         pulumi.String("roles/securesourcemanager.repoAdmin"),
			Member:       pulumi.String("user:jane@example.com"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

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

* projects/{{project}}/locations/{{location}}/repositories/{{repository_id}}

* {{project}}/{{location}}/{{repository_id}}

* {{location}}/{{repository_id}}

* {{repository_id}}

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

Secure Source Manager repository 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:securesourcemanager/repositoryIamPolicy:RepositoryIamPolicy editor "projects/{{project}}/locations/{{location}}/repositories/{{repository_id}} roles/securesourcemanager.repoAdmin user:jane@example.com" ```

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

```sh $ pulumi import gcp:securesourcemanager/repositoryIamPolicy:RepositoryIamPolicy editor "projects/{{project}}/locations/{{location}}/repositories/{{repository_id}} roles/securesourcemanager.repoAdmin" ```

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

```sh $ pulumi import gcp:securesourcemanager/repositoryIamPolicy:RepositoryIamPolicy editor projects/{{project}}/locations/{{location}}/repositories/{{repository_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 GetRepositoryIamPolicy added in v7.31.0

func GetRepositoryIamPolicy(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *RepositoryIamPolicyState, opts ...pulumi.ResourceOption) (*RepositoryIamPolicy, error)

GetRepositoryIamPolicy gets an existing RepositoryIamPolicy 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 NewRepositoryIamPolicy added in v7.31.0

func NewRepositoryIamPolicy(ctx *pulumi.Context,
	name string, args *RepositoryIamPolicyArgs, opts ...pulumi.ResourceOption) (*RepositoryIamPolicy, error)

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

func (*RepositoryIamPolicy) ElementType added in v7.31.0

func (*RepositoryIamPolicy) ElementType() reflect.Type

func (*RepositoryIamPolicy) ToRepositoryIamPolicyOutput added in v7.31.0

func (i *RepositoryIamPolicy) ToRepositoryIamPolicyOutput() RepositoryIamPolicyOutput

func (*RepositoryIamPolicy) ToRepositoryIamPolicyOutputWithContext added in v7.31.0

func (i *RepositoryIamPolicy) ToRepositoryIamPolicyOutputWithContext(ctx context.Context) RepositoryIamPolicyOutput

type RepositoryIamPolicyArgs added in v7.31.0

type RepositoryIamPolicyArgs struct {
	// The location for the Repository.
	// 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
	// The ID for the Repository.
	// Used to find the parent resource to bind the IAM policy to
	RepositoryId pulumi.StringInput
}

The set of arguments for constructing a RepositoryIamPolicy resource.

func (RepositoryIamPolicyArgs) ElementType added in v7.31.0

func (RepositoryIamPolicyArgs) ElementType() reflect.Type

type RepositoryIamPolicyArray added in v7.31.0

type RepositoryIamPolicyArray []RepositoryIamPolicyInput

func (RepositoryIamPolicyArray) ElementType added in v7.31.0

func (RepositoryIamPolicyArray) ElementType() reflect.Type

func (RepositoryIamPolicyArray) ToRepositoryIamPolicyArrayOutput added in v7.31.0

func (i RepositoryIamPolicyArray) ToRepositoryIamPolicyArrayOutput() RepositoryIamPolicyArrayOutput

func (RepositoryIamPolicyArray) ToRepositoryIamPolicyArrayOutputWithContext added in v7.31.0

func (i RepositoryIamPolicyArray) ToRepositoryIamPolicyArrayOutputWithContext(ctx context.Context) RepositoryIamPolicyArrayOutput

type RepositoryIamPolicyArrayInput added in v7.31.0

type RepositoryIamPolicyArrayInput interface {
	pulumi.Input

	ToRepositoryIamPolicyArrayOutput() RepositoryIamPolicyArrayOutput
	ToRepositoryIamPolicyArrayOutputWithContext(context.Context) RepositoryIamPolicyArrayOutput
}

RepositoryIamPolicyArrayInput is an input type that accepts RepositoryIamPolicyArray and RepositoryIamPolicyArrayOutput values. You can construct a concrete instance of `RepositoryIamPolicyArrayInput` via:

RepositoryIamPolicyArray{ RepositoryIamPolicyArgs{...} }

type RepositoryIamPolicyArrayOutput added in v7.31.0

type RepositoryIamPolicyArrayOutput struct{ *pulumi.OutputState }

func (RepositoryIamPolicyArrayOutput) ElementType added in v7.31.0

func (RepositoryIamPolicyArrayOutput) Index added in v7.31.0

func (RepositoryIamPolicyArrayOutput) ToRepositoryIamPolicyArrayOutput added in v7.31.0

func (o RepositoryIamPolicyArrayOutput) ToRepositoryIamPolicyArrayOutput() RepositoryIamPolicyArrayOutput

func (RepositoryIamPolicyArrayOutput) ToRepositoryIamPolicyArrayOutputWithContext added in v7.31.0

func (o RepositoryIamPolicyArrayOutput) ToRepositoryIamPolicyArrayOutputWithContext(ctx context.Context) RepositoryIamPolicyArrayOutput

type RepositoryIamPolicyInput added in v7.31.0

type RepositoryIamPolicyInput interface {
	pulumi.Input

	ToRepositoryIamPolicyOutput() RepositoryIamPolicyOutput
	ToRepositoryIamPolicyOutputWithContext(ctx context.Context) RepositoryIamPolicyOutput
}

type RepositoryIamPolicyMap added in v7.31.0

type RepositoryIamPolicyMap map[string]RepositoryIamPolicyInput

func (RepositoryIamPolicyMap) ElementType added in v7.31.0

func (RepositoryIamPolicyMap) ElementType() reflect.Type

func (RepositoryIamPolicyMap) ToRepositoryIamPolicyMapOutput added in v7.31.0

func (i RepositoryIamPolicyMap) ToRepositoryIamPolicyMapOutput() RepositoryIamPolicyMapOutput

func (RepositoryIamPolicyMap) ToRepositoryIamPolicyMapOutputWithContext added in v7.31.0

func (i RepositoryIamPolicyMap) ToRepositoryIamPolicyMapOutputWithContext(ctx context.Context) RepositoryIamPolicyMapOutput

type RepositoryIamPolicyMapInput added in v7.31.0

type RepositoryIamPolicyMapInput interface {
	pulumi.Input

	ToRepositoryIamPolicyMapOutput() RepositoryIamPolicyMapOutput
	ToRepositoryIamPolicyMapOutputWithContext(context.Context) RepositoryIamPolicyMapOutput
}

RepositoryIamPolicyMapInput is an input type that accepts RepositoryIamPolicyMap and RepositoryIamPolicyMapOutput values. You can construct a concrete instance of `RepositoryIamPolicyMapInput` via:

RepositoryIamPolicyMap{ "key": RepositoryIamPolicyArgs{...} }

type RepositoryIamPolicyMapOutput added in v7.31.0

type RepositoryIamPolicyMapOutput struct{ *pulumi.OutputState }

func (RepositoryIamPolicyMapOutput) ElementType added in v7.31.0

func (RepositoryIamPolicyMapOutput) MapIndex added in v7.31.0

func (RepositoryIamPolicyMapOutput) ToRepositoryIamPolicyMapOutput added in v7.31.0

func (o RepositoryIamPolicyMapOutput) ToRepositoryIamPolicyMapOutput() RepositoryIamPolicyMapOutput

func (RepositoryIamPolicyMapOutput) ToRepositoryIamPolicyMapOutputWithContext added in v7.31.0

func (o RepositoryIamPolicyMapOutput) ToRepositoryIamPolicyMapOutputWithContext(ctx context.Context) RepositoryIamPolicyMapOutput

type RepositoryIamPolicyOutput added in v7.31.0

type RepositoryIamPolicyOutput struct{ *pulumi.OutputState }

func (RepositoryIamPolicyOutput) ElementType added in v7.31.0

func (RepositoryIamPolicyOutput) ElementType() reflect.Type

func (RepositoryIamPolicyOutput) Etag added in v7.31.0

(Computed) The etag of the IAM policy.

func (RepositoryIamPolicyOutput) Location added in v7.31.0

The location for the Repository. 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 (RepositoryIamPolicyOutput) PolicyData added in v7.31.0

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

func (RepositoryIamPolicyOutput) Project added in v7.31.0

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

func (RepositoryIamPolicyOutput) RepositoryId added in v7.31.0

The ID for the Repository. Used to find the parent resource to bind the IAM policy to

func (RepositoryIamPolicyOutput) ToRepositoryIamPolicyOutput added in v7.31.0

func (o RepositoryIamPolicyOutput) ToRepositoryIamPolicyOutput() RepositoryIamPolicyOutput

func (RepositoryIamPolicyOutput) ToRepositoryIamPolicyOutputWithContext added in v7.31.0

func (o RepositoryIamPolicyOutput) ToRepositoryIamPolicyOutputWithContext(ctx context.Context) RepositoryIamPolicyOutput

type RepositoryIamPolicyState added in v7.31.0

type RepositoryIamPolicyState struct {
	// (Computed) The etag of the IAM policy.
	Etag pulumi.StringPtrInput
	// The location for the Repository.
	// 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
	// The ID for the Repository.
	// Used to find the parent resource to bind the IAM policy to
	RepositoryId pulumi.StringPtrInput
}

func (RepositoryIamPolicyState) ElementType added in v7.31.0

func (RepositoryIamPolicyState) ElementType() reflect.Type

type RepositoryInitialConfig added in v7.31.0

type RepositoryInitialConfig struct {
	// Default branch name of the repository.
	DefaultBranch *string `pulumi:"defaultBranch"`
	// List of gitignore template names user can choose from.
	// Valid values can be viewed at https://cloud.google.com/secure-source-manager/docs/reference/rest/v1/projects.locations.repositories#initialconfig.
	Gitignores []string `pulumi:"gitignores"`
	// License template name user can choose from.
	// Valid values can be viewed at https://cloud.google.com/secure-source-manager/docs/reference/rest/v1/projects.locations.repositories#initialconfig.
	License *string `pulumi:"license"`
	// README template name.
	// Valid values can be viewed at https://cloud.google.com/secure-source-manager/docs/reference/rest/v1/projects.locations.repositories#initialconfig.
	Readme *string `pulumi:"readme"`
}

type RepositoryInitialConfigArgs added in v7.31.0

type RepositoryInitialConfigArgs struct {
	// Default branch name of the repository.
	DefaultBranch pulumi.StringPtrInput `pulumi:"defaultBranch"`
	// List of gitignore template names user can choose from.
	// Valid values can be viewed at https://cloud.google.com/secure-source-manager/docs/reference/rest/v1/projects.locations.repositories#initialconfig.
	Gitignores pulumi.StringArrayInput `pulumi:"gitignores"`
	// License template name user can choose from.
	// Valid values can be viewed at https://cloud.google.com/secure-source-manager/docs/reference/rest/v1/projects.locations.repositories#initialconfig.
	License pulumi.StringPtrInput `pulumi:"license"`
	// README template name.
	// Valid values can be viewed at https://cloud.google.com/secure-source-manager/docs/reference/rest/v1/projects.locations.repositories#initialconfig.
	Readme pulumi.StringPtrInput `pulumi:"readme"`
}

func (RepositoryInitialConfigArgs) ElementType added in v7.31.0

func (RepositoryInitialConfigArgs) ToRepositoryInitialConfigOutput added in v7.31.0

func (i RepositoryInitialConfigArgs) ToRepositoryInitialConfigOutput() RepositoryInitialConfigOutput

func (RepositoryInitialConfigArgs) ToRepositoryInitialConfigOutputWithContext added in v7.31.0

func (i RepositoryInitialConfigArgs) ToRepositoryInitialConfigOutputWithContext(ctx context.Context) RepositoryInitialConfigOutput

func (RepositoryInitialConfigArgs) ToRepositoryInitialConfigPtrOutput added in v7.31.0

func (i RepositoryInitialConfigArgs) ToRepositoryInitialConfigPtrOutput() RepositoryInitialConfigPtrOutput

func (RepositoryInitialConfigArgs) ToRepositoryInitialConfigPtrOutputWithContext added in v7.31.0

func (i RepositoryInitialConfigArgs) ToRepositoryInitialConfigPtrOutputWithContext(ctx context.Context) RepositoryInitialConfigPtrOutput

type RepositoryInitialConfigInput added in v7.31.0

type RepositoryInitialConfigInput interface {
	pulumi.Input

	ToRepositoryInitialConfigOutput() RepositoryInitialConfigOutput
	ToRepositoryInitialConfigOutputWithContext(context.Context) RepositoryInitialConfigOutput
}

RepositoryInitialConfigInput is an input type that accepts RepositoryInitialConfigArgs and RepositoryInitialConfigOutput values. You can construct a concrete instance of `RepositoryInitialConfigInput` via:

RepositoryInitialConfigArgs{...}

type RepositoryInitialConfigOutput added in v7.31.0

type RepositoryInitialConfigOutput struct{ *pulumi.OutputState }

func (RepositoryInitialConfigOutput) DefaultBranch added in v7.31.0

Default branch name of the repository.

func (RepositoryInitialConfigOutput) ElementType added in v7.31.0

func (RepositoryInitialConfigOutput) Gitignores added in v7.31.0

List of gitignore template names user can choose from. Valid values can be viewed at https://cloud.google.com/secure-source-manager/docs/reference/rest/v1/projects.locations.repositories#initialconfig.

func (RepositoryInitialConfigOutput) License added in v7.31.0

License template name user can choose from. Valid values can be viewed at https://cloud.google.com/secure-source-manager/docs/reference/rest/v1/projects.locations.repositories#initialconfig.

func (RepositoryInitialConfigOutput) Readme added in v7.31.0

README template name. Valid values can be viewed at https://cloud.google.com/secure-source-manager/docs/reference/rest/v1/projects.locations.repositories#initialconfig.

func (RepositoryInitialConfigOutput) ToRepositoryInitialConfigOutput added in v7.31.0

func (o RepositoryInitialConfigOutput) ToRepositoryInitialConfigOutput() RepositoryInitialConfigOutput

func (RepositoryInitialConfigOutput) ToRepositoryInitialConfigOutputWithContext added in v7.31.0

func (o RepositoryInitialConfigOutput) ToRepositoryInitialConfigOutputWithContext(ctx context.Context) RepositoryInitialConfigOutput

func (RepositoryInitialConfigOutput) ToRepositoryInitialConfigPtrOutput added in v7.31.0

func (o RepositoryInitialConfigOutput) ToRepositoryInitialConfigPtrOutput() RepositoryInitialConfigPtrOutput

func (RepositoryInitialConfigOutput) ToRepositoryInitialConfigPtrOutputWithContext added in v7.31.0

func (o RepositoryInitialConfigOutput) ToRepositoryInitialConfigPtrOutputWithContext(ctx context.Context) RepositoryInitialConfigPtrOutput

type RepositoryInitialConfigPtrInput added in v7.31.0

type RepositoryInitialConfigPtrInput interface {
	pulumi.Input

	ToRepositoryInitialConfigPtrOutput() RepositoryInitialConfigPtrOutput
	ToRepositoryInitialConfigPtrOutputWithContext(context.Context) RepositoryInitialConfigPtrOutput
}

RepositoryInitialConfigPtrInput is an input type that accepts RepositoryInitialConfigArgs, RepositoryInitialConfigPtr and RepositoryInitialConfigPtrOutput values. You can construct a concrete instance of `RepositoryInitialConfigPtrInput` via:

        RepositoryInitialConfigArgs{...}

or:

        nil

func RepositoryInitialConfigPtr added in v7.31.0

func RepositoryInitialConfigPtr(v *RepositoryInitialConfigArgs) RepositoryInitialConfigPtrInput

type RepositoryInitialConfigPtrOutput added in v7.31.0

type RepositoryInitialConfigPtrOutput struct{ *pulumi.OutputState }

func (RepositoryInitialConfigPtrOutput) DefaultBranch added in v7.31.0

Default branch name of the repository.

func (RepositoryInitialConfigPtrOutput) Elem added in v7.31.0

func (RepositoryInitialConfigPtrOutput) ElementType added in v7.31.0

func (RepositoryInitialConfigPtrOutput) Gitignores added in v7.31.0

List of gitignore template names user can choose from. Valid values can be viewed at https://cloud.google.com/secure-source-manager/docs/reference/rest/v1/projects.locations.repositories#initialconfig.

func (RepositoryInitialConfigPtrOutput) License added in v7.31.0

License template name user can choose from. Valid values can be viewed at https://cloud.google.com/secure-source-manager/docs/reference/rest/v1/projects.locations.repositories#initialconfig.

func (RepositoryInitialConfigPtrOutput) Readme added in v7.31.0

README template name. Valid values can be viewed at https://cloud.google.com/secure-source-manager/docs/reference/rest/v1/projects.locations.repositories#initialconfig.

func (RepositoryInitialConfigPtrOutput) ToRepositoryInitialConfigPtrOutput added in v7.31.0

func (o RepositoryInitialConfigPtrOutput) ToRepositoryInitialConfigPtrOutput() RepositoryInitialConfigPtrOutput

func (RepositoryInitialConfigPtrOutput) ToRepositoryInitialConfigPtrOutputWithContext added in v7.31.0

func (o RepositoryInitialConfigPtrOutput) ToRepositoryInitialConfigPtrOutputWithContext(ctx context.Context) RepositoryInitialConfigPtrOutput

type RepositoryInput added in v7.31.0

type RepositoryInput interface {
	pulumi.Input

	ToRepositoryOutput() RepositoryOutput
	ToRepositoryOutputWithContext(ctx context.Context) RepositoryOutput
}

type RepositoryMap added in v7.31.0

type RepositoryMap map[string]RepositoryInput

func (RepositoryMap) ElementType added in v7.31.0

func (RepositoryMap) ElementType() reflect.Type

func (RepositoryMap) ToRepositoryMapOutput added in v7.31.0

func (i RepositoryMap) ToRepositoryMapOutput() RepositoryMapOutput

func (RepositoryMap) ToRepositoryMapOutputWithContext added in v7.31.0

func (i RepositoryMap) ToRepositoryMapOutputWithContext(ctx context.Context) RepositoryMapOutput

type RepositoryMapInput added in v7.31.0

type RepositoryMapInput interface {
	pulumi.Input

	ToRepositoryMapOutput() RepositoryMapOutput
	ToRepositoryMapOutputWithContext(context.Context) RepositoryMapOutput
}

RepositoryMapInput is an input type that accepts RepositoryMap and RepositoryMapOutput values. You can construct a concrete instance of `RepositoryMapInput` via:

RepositoryMap{ "key": RepositoryArgs{...} }

type RepositoryMapOutput added in v7.31.0

type RepositoryMapOutput struct{ *pulumi.OutputState }

func (RepositoryMapOutput) ElementType added in v7.31.0

func (RepositoryMapOutput) ElementType() reflect.Type

func (RepositoryMapOutput) MapIndex added in v7.31.0

func (RepositoryMapOutput) ToRepositoryMapOutput added in v7.31.0

func (o RepositoryMapOutput) ToRepositoryMapOutput() RepositoryMapOutput

func (RepositoryMapOutput) ToRepositoryMapOutputWithContext added in v7.31.0

func (o RepositoryMapOutput) ToRepositoryMapOutputWithContext(ctx context.Context) RepositoryMapOutput

type RepositoryOutput added in v7.31.0

type RepositoryOutput struct{ *pulumi.OutputState }

func (RepositoryOutput) CreateTime added in v7.31.0

func (o RepositoryOutput) CreateTime() pulumi.StringOutput

Time the repository was created in UTC.

func (RepositoryOutput) Description added in v7.31.0

func (o RepositoryOutput) Description() pulumi.StringPtrOutput

Description of the repository, which cannot exceed 500 characters.

func (RepositoryOutput) ElementType added in v7.31.0

func (RepositoryOutput) ElementType() reflect.Type

func (RepositoryOutput) InitialConfig added in v7.31.0

Initial configurations for the repository. Structure is documented below.

func (RepositoryOutput) Instance added in v7.31.0

func (o RepositoryOutput) Instance() pulumi.StringOutput

The name of the instance in which the repository is hosted.

func (RepositoryOutput) Location added in v7.31.0

func (o RepositoryOutput) Location() pulumi.StringOutput

The location for the Repository.

func (RepositoryOutput) Name added in v7.31.0

The resource name for the Repository.

func (RepositoryOutput) Project added in v7.31.0

func (o RepositoryOutput) Project() pulumi.StringOutput

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

func (RepositoryOutput) RepositoryId added in v7.31.0

func (o RepositoryOutput) RepositoryId() pulumi.StringOutput

The ID for the Repository.

***

func (RepositoryOutput) ToRepositoryOutput added in v7.31.0

func (o RepositoryOutput) ToRepositoryOutput() RepositoryOutput

func (RepositoryOutput) ToRepositoryOutputWithContext added in v7.31.0

func (o RepositoryOutput) ToRepositoryOutputWithContext(ctx context.Context) RepositoryOutput

func (RepositoryOutput) Uid added in v7.31.0

Unique identifier of the repository.

func (RepositoryOutput) UpdateTime added in v7.31.0

func (o RepositoryOutput) UpdateTime() pulumi.StringOutput

Time the repository was updated in UTC.

func (RepositoryOutput) Uris added in v7.31.0

URIs for the repository. Structure is documented below.

type RepositoryState added in v7.31.0

type RepositoryState struct {
	// Time the repository was created in UTC.
	CreateTime pulumi.StringPtrInput
	// Description of the repository, which cannot exceed 500 characters.
	Description pulumi.StringPtrInput
	// Initial configurations for the repository.
	// Structure is documented below.
	InitialConfig RepositoryInitialConfigPtrInput
	// The name of the instance in which the repository is hosted.
	Instance pulumi.StringPtrInput
	// The location for the Repository.
	Location pulumi.StringPtrInput
	// The resource name for the Repository.
	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 ID for the Repository.
	//
	// ***
	RepositoryId pulumi.StringPtrInput
	// Unique identifier of the repository.
	Uid pulumi.StringPtrInput
	// Time the repository was updated in UTC.
	UpdateTime pulumi.StringPtrInput
	// URIs for the repository.
	// Structure is documented below.
	Uris RepositoryUriArrayInput
}

func (RepositoryState) ElementType added in v7.31.0

func (RepositoryState) ElementType() reflect.Type

type RepositoryUri added in v7.31.0

type RepositoryUri struct {
	// (Output)
	// API is the URI for API access.
	Api *string `pulumi:"api"`
	// (Output)
	// gitHttps is the git HTTPS URI for git operations.
	GitHttps *string `pulumi:"gitHttps"`
	// (Output)
	// HTML is the URI for the user to view the repository in a browser.
	Html *string `pulumi:"html"`
}

type RepositoryUriArgs added in v7.31.0

type RepositoryUriArgs struct {
	// (Output)
	// API is the URI for API access.
	Api pulumi.StringPtrInput `pulumi:"api"`
	// (Output)
	// gitHttps is the git HTTPS URI for git operations.
	GitHttps pulumi.StringPtrInput `pulumi:"gitHttps"`
	// (Output)
	// HTML is the URI for the user to view the repository in a browser.
	Html pulumi.StringPtrInput `pulumi:"html"`
}

func (RepositoryUriArgs) ElementType added in v7.31.0

func (RepositoryUriArgs) ElementType() reflect.Type

func (RepositoryUriArgs) ToRepositoryUriOutput added in v7.31.0

func (i RepositoryUriArgs) ToRepositoryUriOutput() RepositoryUriOutput

func (RepositoryUriArgs) ToRepositoryUriOutputWithContext added in v7.31.0

func (i RepositoryUriArgs) ToRepositoryUriOutputWithContext(ctx context.Context) RepositoryUriOutput

type RepositoryUriArray added in v7.31.0

type RepositoryUriArray []RepositoryUriInput

func (RepositoryUriArray) ElementType added in v7.31.0

func (RepositoryUriArray) ElementType() reflect.Type

func (RepositoryUriArray) ToRepositoryUriArrayOutput added in v7.31.0

func (i RepositoryUriArray) ToRepositoryUriArrayOutput() RepositoryUriArrayOutput

func (RepositoryUriArray) ToRepositoryUriArrayOutputWithContext added in v7.31.0

func (i RepositoryUriArray) ToRepositoryUriArrayOutputWithContext(ctx context.Context) RepositoryUriArrayOutput

type RepositoryUriArrayInput added in v7.31.0

type RepositoryUriArrayInput interface {
	pulumi.Input

	ToRepositoryUriArrayOutput() RepositoryUriArrayOutput
	ToRepositoryUriArrayOutputWithContext(context.Context) RepositoryUriArrayOutput
}

RepositoryUriArrayInput is an input type that accepts RepositoryUriArray and RepositoryUriArrayOutput values. You can construct a concrete instance of `RepositoryUriArrayInput` via:

RepositoryUriArray{ RepositoryUriArgs{...} }

type RepositoryUriArrayOutput added in v7.31.0

type RepositoryUriArrayOutput struct{ *pulumi.OutputState }

func (RepositoryUriArrayOutput) ElementType added in v7.31.0

func (RepositoryUriArrayOutput) ElementType() reflect.Type

func (RepositoryUriArrayOutput) Index added in v7.31.0

func (RepositoryUriArrayOutput) ToRepositoryUriArrayOutput added in v7.31.0

func (o RepositoryUriArrayOutput) ToRepositoryUriArrayOutput() RepositoryUriArrayOutput

func (RepositoryUriArrayOutput) ToRepositoryUriArrayOutputWithContext added in v7.31.0

func (o RepositoryUriArrayOutput) ToRepositoryUriArrayOutputWithContext(ctx context.Context) RepositoryUriArrayOutput

type RepositoryUriInput added in v7.31.0

type RepositoryUriInput interface {
	pulumi.Input

	ToRepositoryUriOutput() RepositoryUriOutput
	ToRepositoryUriOutputWithContext(context.Context) RepositoryUriOutput
}

RepositoryUriInput is an input type that accepts RepositoryUriArgs and RepositoryUriOutput values. You can construct a concrete instance of `RepositoryUriInput` via:

RepositoryUriArgs{...}

type RepositoryUriOutput added in v7.31.0

type RepositoryUriOutput struct{ *pulumi.OutputState }

func (RepositoryUriOutput) Api added in v7.31.0

(Output) API is the URI for API access.

func (RepositoryUriOutput) ElementType added in v7.31.0

func (RepositoryUriOutput) ElementType() reflect.Type

func (RepositoryUriOutput) GitHttps added in v7.31.0

(Output) gitHttps is the git HTTPS URI for git operations.

func (RepositoryUriOutput) Html added in v7.31.0

(Output) HTML is the URI for the user to view the repository in a browser.

func (RepositoryUriOutput) ToRepositoryUriOutput added in v7.31.0

func (o RepositoryUriOutput) ToRepositoryUriOutput() RepositoryUriOutput

func (RepositoryUriOutput) ToRepositoryUriOutputWithContext added in v7.31.0

func (o RepositoryUriOutput) ToRepositoryUriOutputWithContext(ctx context.Context) RepositoryUriOutput

Jump to

Keyboard shortcuts

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