secrets

package
v6.5.0 Latest Latest
Warning

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

Go to latest
Published: Jan 16, 2025 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 SyncAssociation

type SyncAssociation struct {
	pulumi.CustomResourceState

	// Metadata for each subkey of the associated secret.
	Metadatas SyncAssociationMetadataArrayOutput `pulumi:"metadatas"`
	// Specifies the mount where the secret is located.
	Mount pulumi.StringOutput `pulumi:"mount"`
	// Specifies the name of the destination.
	Name pulumi.StringOutput `pulumi:"name"`
	// The namespace to provision the resource in.
	// The value should not contain leading or trailing forward slashes.
	// The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
	Namespace pulumi.StringPtrOutput `pulumi:"namespace"`
	// Specifies the name of the secret to synchronize.
	SecretName pulumi.StringOutput `pulumi:"secretName"`
	// Specifies the destination type.
	Type pulumi.StringOutput `pulumi:"type"`
}

## Example Usage

```go package main

import (

"encoding/json"

"github.com/pulumi/pulumi-vault/sdk/v6/go/vault"
"github.com/pulumi/pulumi-vault/sdk/v6/go/vault/kv"
"github.com/pulumi/pulumi-vault/sdk/v6/go/vault/secrets"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		kvv2, err := vault.NewMount(ctx, "kvv2", &vault.MountArgs{
			Path: pulumi.String("kvv2"),
			Type: pulumi.String("kv"),
			Options: pulumi.StringMap{
				"version": pulumi.String("2"),
			},
			Description: pulumi.String("KV Version 2 secret engine mount"),
		})
		if err != nil {
			return err
		}
		tmpJSON0, err := json.Marshal(map[string]interface{}{
			"dev":  "B!gS3cr3t",
			"prod": "S3cureP4$$",
		})
		if err != nil {
			return err
		}
		json0 := string(tmpJSON0)
		token, err := kv.NewSecretV2(ctx, "token", &kv.SecretV2Args{
			Mount:    kvv2.Path,
			Name:     pulumi.String("token"),
			DataJson: pulumi.String(json0),
		})
		if err != nil {
			return err
		}
		gh, err := secrets.NewSyncGhDestination(ctx, "gh", &secrets.SyncGhDestinationArgs{
			Name:               pulumi.String("gh-dest"),
			AccessToken:        pulumi.Any(accessToken),
			RepositoryOwner:    pulumi.Any(repoOwner),
			RepositoryName:     pulumi.String("repo-name-example"),
			SecretNameTemplate: pulumi.String("vault_{{ .MountAccessor | lowercase }}_{{ .SecretPath | lowercase }}"),
		})
		if err != nil {
			return err
		}
		_, err = secrets.NewSyncAssociation(ctx, "gh_token", &secrets.SyncAssociationArgs{
			Name:       gh.Name,
			Type:       gh.Type,
			Mount:      kvv2.Path,
			SecretName: token.Name,
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

func GetSyncAssociation

func GetSyncAssociation(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *SyncAssociationState, opts ...pulumi.ResourceOption) (*SyncAssociation, error)

GetSyncAssociation gets an existing SyncAssociation 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 NewSyncAssociation

func NewSyncAssociation(ctx *pulumi.Context,
	name string, args *SyncAssociationArgs, opts ...pulumi.ResourceOption) (*SyncAssociation, error)

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

func (*SyncAssociation) ElementType

func (*SyncAssociation) ElementType() reflect.Type

func (*SyncAssociation) ToSyncAssociationOutput

func (i *SyncAssociation) ToSyncAssociationOutput() SyncAssociationOutput

func (*SyncAssociation) ToSyncAssociationOutputWithContext

func (i *SyncAssociation) ToSyncAssociationOutputWithContext(ctx context.Context) SyncAssociationOutput

type SyncAssociationArgs

type SyncAssociationArgs struct {
	// Specifies the mount where the secret is located.
	Mount pulumi.StringInput
	// Specifies the name of the destination.
	Name pulumi.StringPtrInput
	// The namespace to provision the resource in.
	// The value should not contain leading or trailing forward slashes.
	// The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
	Namespace pulumi.StringPtrInput
	// Specifies the name of the secret to synchronize.
	SecretName pulumi.StringInput
	// Specifies the destination type.
	Type pulumi.StringInput
}

The set of arguments for constructing a SyncAssociation resource.

func (SyncAssociationArgs) ElementType

func (SyncAssociationArgs) ElementType() reflect.Type

type SyncAssociationArray

type SyncAssociationArray []SyncAssociationInput

func (SyncAssociationArray) ElementType

func (SyncAssociationArray) ElementType() reflect.Type

func (SyncAssociationArray) ToSyncAssociationArrayOutput

func (i SyncAssociationArray) ToSyncAssociationArrayOutput() SyncAssociationArrayOutput

func (SyncAssociationArray) ToSyncAssociationArrayOutputWithContext

func (i SyncAssociationArray) ToSyncAssociationArrayOutputWithContext(ctx context.Context) SyncAssociationArrayOutput

type SyncAssociationArrayInput

type SyncAssociationArrayInput interface {
	pulumi.Input

	ToSyncAssociationArrayOutput() SyncAssociationArrayOutput
	ToSyncAssociationArrayOutputWithContext(context.Context) SyncAssociationArrayOutput
}

SyncAssociationArrayInput is an input type that accepts SyncAssociationArray and SyncAssociationArrayOutput values. You can construct a concrete instance of `SyncAssociationArrayInput` via:

SyncAssociationArray{ SyncAssociationArgs{...} }

type SyncAssociationArrayOutput

type SyncAssociationArrayOutput struct{ *pulumi.OutputState }

func (SyncAssociationArrayOutput) ElementType

func (SyncAssociationArrayOutput) ElementType() reflect.Type

func (SyncAssociationArrayOutput) Index

func (SyncAssociationArrayOutput) ToSyncAssociationArrayOutput

func (o SyncAssociationArrayOutput) ToSyncAssociationArrayOutput() SyncAssociationArrayOutput

func (SyncAssociationArrayOutput) ToSyncAssociationArrayOutputWithContext

func (o SyncAssociationArrayOutput) ToSyncAssociationArrayOutputWithContext(ctx context.Context) SyncAssociationArrayOutput

type SyncAssociationInput

type SyncAssociationInput interface {
	pulumi.Input

	ToSyncAssociationOutput() SyncAssociationOutput
	ToSyncAssociationOutputWithContext(ctx context.Context) SyncAssociationOutput
}

type SyncAssociationMap

type SyncAssociationMap map[string]SyncAssociationInput

func (SyncAssociationMap) ElementType

func (SyncAssociationMap) ElementType() reflect.Type

func (SyncAssociationMap) ToSyncAssociationMapOutput

func (i SyncAssociationMap) ToSyncAssociationMapOutput() SyncAssociationMapOutput

func (SyncAssociationMap) ToSyncAssociationMapOutputWithContext

func (i SyncAssociationMap) ToSyncAssociationMapOutputWithContext(ctx context.Context) SyncAssociationMapOutput

type SyncAssociationMapInput

type SyncAssociationMapInput interface {
	pulumi.Input

	ToSyncAssociationMapOutput() SyncAssociationMapOutput
	ToSyncAssociationMapOutputWithContext(context.Context) SyncAssociationMapOutput
}

SyncAssociationMapInput is an input type that accepts SyncAssociationMap and SyncAssociationMapOutput values. You can construct a concrete instance of `SyncAssociationMapInput` via:

SyncAssociationMap{ "key": SyncAssociationArgs{...} }

type SyncAssociationMapOutput

type SyncAssociationMapOutput struct{ *pulumi.OutputState }

func (SyncAssociationMapOutput) ElementType

func (SyncAssociationMapOutput) ElementType() reflect.Type

func (SyncAssociationMapOutput) MapIndex

func (SyncAssociationMapOutput) ToSyncAssociationMapOutput

func (o SyncAssociationMapOutput) ToSyncAssociationMapOutput() SyncAssociationMapOutput

func (SyncAssociationMapOutput) ToSyncAssociationMapOutputWithContext

func (o SyncAssociationMapOutput) ToSyncAssociationMapOutputWithContext(ctx context.Context) SyncAssociationMapOutput

type SyncAssociationMetadata added in v6.1.0

type SyncAssociationMetadata struct {
	// Subkey of the associated secret.
	SubKey *string `pulumi:"subKey"`
	// A map of sync statuses for each subkey of the associated secret
	// (for ex. `{kv_624bea/aws-token/dev: "SYNCED", kv_624bea/aws-token/prod: "SYNCED"}`).
	SyncStatus *string `pulumi:"syncStatus"`
	// A map of duration strings specifying when each subkey of the associated
	// secret was last updated.
	// (for ex.
	// `{kv_624bea/aws-token/dev: "2024-03-21T12:42:02.558533-07:00",
	// kv_624bea/aws-token/prod: "2024-03-21T12:42:02.558533-07:00"}`).
	UpdatedAt *string `pulumi:"updatedAt"`
}

type SyncAssociationMetadataArgs added in v6.1.0

type SyncAssociationMetadataArgs struct {
	// Subkey of the associated secret.
	SubKey pulumi.StringPtrInput `pulumi:"subKey"`
	// A map of sync statuses for each subkey of the associated secret
	// (for ex. `{kv_624bea/aws-token/dev: "SYNCED", kv_624bea/aws-token/prod: "SYNCED"}`).
	SyncStatus pulumi.StringPtrInput `pulumi:"syncStatus"`
	// A map of duration strings specifying when each subkey of the associated
	// secret was last updated.
	// (for ex.
	// `{kv_624bea/aws-token/dev: "2024-03-21T12:42:02.558533-07:00",
	// kv_624bea/aws-token/prod: "2024-03-21T12:42:02.558533-07:00"}`).
	UpdatedAt pulumi.StringPtrInput `pulumi:"updatedAt"`
}

func (SyncAssociationMetadataArgs) ElementType added in v6.1.0

func (SyncAssociationMetadataArgs) ToSyncAssociationMetadataOutput added in v6.1.0

func (i SyncAssociationMetadataArgs) ToSyncAssociationMetadataOutput() SyncAssociationMetadataOutput

func (SyncAssociationMetadataArgs) ToSyncAssociationMetadataOutputWithContext added in v6.1.0

func (i SyncAssociationMetadataArgs) ToSyncAssociationMetadataOutputWithContext(ctx context.Context) SyncAssociationMetadataOutput

type SyncAssociationMetadataArray added in v6.1.0

type SyncAssociationMetadataArray []SyncAssociationMetadataInput

func (SyncAssociationMetadataArray) ElementType added in v6.1.0

func (SyncAssociationMetadataArray) ToSyncAssociationMetadataArrayOutput added in v6.1.0

func (i SyncAssociationMetadataArray) ToSyncAssociationMetadataArrayOutput() SyncAssociationMetadataArrayOutput

func (SyncAssociationMetadataArray) ToSyncAssociationMetadataArrayOutputWithContext added in v6.1.0

func (i SyncAssociationMetadataArray) ToSyncAssociationMetadataArrayOutputWithContext(ctx context.Context) SyncAssociationMetadataArrayOutput

type SyncAssociationMetadataArrayInput added in v6.1.0

type SyncAssociationMetadataArrayInput interface {
	pulumi.Input

	ToSyncAssociationMetadataArrayOutput() SyncAssociationMetadataArrayOutput
	ToSyncAssociationMetadataArrayOutputWithContext(context.Context) SyncAssociationMetadataArrayOutput
}

SyncAssociationMetadataArrayInput is an input type that accepts SyncAssociationMetadataArray and SyncAssociationMetadataArrayOutput values. You can construct a concrete instance of `SyncAssociationMetadataArrayInput` via:

SyncAssociationMetadataArray{ SyncAssociationMetadataArgs{...} }

type SyncAssociationMetadataArrayOutput added in v6.1.0

type SyncAssociationMetadataArrayOutput struct{ *pulumi.OutputState }

func (SyncAssociationMetadataArrayOutput) ElementType added in v6.1.0

func (SyncAssociationMetadataArrayOutput) Index added in v6.1.0

func (SyncAssociationMetadataArrayOutput) ToSyncAssociationMetadataArrayOutput added in v6.1.0

func (o SyncAssociationMetadataArrayOutput) ToSyncAssociationMetadataArrayOutput() SyncAssociationMetadataArrayOutput

func (SyncAssociationMetadataArrayOutput) ToSyncAssociationMetadataArrayOutputWithContext added in v6.1.0

func (o SyncAssociationMetadataArrayOutput) ToSyncAssociationMetadataArrayOutputWithContext(ctx context.Context) SyncAssociationMetadataArrayOutput

type SyncAssociationMetadataInput added in v6.1.0

type SyncAssociationMetadataInput interface {
	pulumi.Input

	ToSyncAssociationMetadataOutput() SyncAssociationMetadataOutput
	ToSyncAssociationMetadataOutputWithContext(context.Context) SyncAssociationMetadataOutput
}

SyncAssociationMetadataInput is an input type that accepts SyncAssociationMetadataArgs and SyncAssociationMetadataOutput values. You can construct a concrete instance of `SyncAssociationMetadataInput` via:

SyncAssociationMetadataArgs{...}

type SyncAssociationMetadataOutput added in v6.1.0

type SyncAssociationMetadataOutput struct{ *pulumi.OutputState }

func (SyncAssociationMetadataOutput) ElementType added in v6.1.0

func (SyncAssociationMetadataOutput) SubKey added in v6.1.0

Subkey of the associated secret.

func (SyncAssociationMetadataOutput) SyncStatus added in v6.1.0

A map of sync statuses for each subkey of the associated secret (for ex. `{kv_624bea/aws-token/dev: "SYNCED", kv_624bea/aws-token/prod: "SYNCED"}`).

func (SyncAssociationMetadataOutput) ToSyncAssociationMetadataOutput added in v6.1.0

func (o SyncAssociationMetadataOutput) ToSyncAssociationMetadataOutput() SyncAssociationMetadataOutput

func (SyncAssociationMetadataOutput) ToSyncAssociationMetadataOutputWithContext added in v6.1.0

func (o SyncAssociationMetadataOutput) ToSyncAssociationMetadataOutputWithContext(ctx context.Context) SyncAssociationMetadataOutput

func (SyncAssociationMetadataOutput) UpdatedAt added in v6.1.0

A map of duration strings specifying when each subkey of the associated secret was last updated. (for ex. `{kv_624bea/aws-token/dev: "2024-03-21T12:42:02.558533-07:00", kv_624bea/aws-token/prod: "2024-03-21T12:42:02.558533-07:00"}`).

type SyncAssociationOutput

type SyncAssociationOutput struct{ *pulumi.OutputState }

func (SyncAssociationOutput) ElementType

func (SyncAssociationOutput) ElementType() reflect.Type

func (SyncAssociationOutput) Metadatas added in v6.1.0

Metadata for each subkey of the associated secret.

func (SyncAssociationOutput) Mount

Specifies the mount where the secret is located.

func (SyncAssociationOutput) Name

Specifies the name of the destination.

func (SyncAssociationOutput) Namespace

The namespace to provision the resource in. The value should not contain leading or trailing forward slashes. The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).

func (SyncAssociationOutput) SecretName

func (o SyncAssociationOutput) SecretName() pulumi.StringOutput

Specifies the name of the secret to synchronize.

func (SyncAssociationOutput) ToSyncAssociationOutput

func (o SyncAssociationOutput) ToSyncAssociationOutput() SyncAssociationOutput

func (SyncAssociationOutput) ToSyncAssociationOutputWithContext

func (o SyncAssociationOutput) ToSyncAssociationOutputWithContext(ctx context.Context) SyncAssociationOutput

func (SyncAssociationOutput) Type

Specifies the destination type.

type SyncAssociationState

type SyncAssociationState struct {
	// Metadata for each subkey of the associated secret.
	Metadatas SyncAssociationMetadataArrayInput
	// Specifies the mount where the secret is located.
	Mount pulumi.StringPtrInput
	// Specifies the name of the destination.
	Name pulumi.StringPtrInput
	// The namespace to provision the resource in.
	// The value should not contain leading or trailing forward slashes.
	// The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
	Namespace pulumi.StringPtrInput
	// Specifies the name of the secret to synchronize.
	SecretName pulumi.StringPtrInput
	// Specifies the destination type.
	Type pulumi.StringPtrInput
}

func (SyncAssociationState) ElementType

func (SyncAssociationState) ElementType() reflect.Type

type SyncAwsDestination

type SyncAwsDestination struct {
	pulumi.CustomResourceState

	// Access key id to authenticate against the AWS secrets manager.
	// Can be omitted and directly provided to Vault using the `AWS_ACCESS_KEY_ID` environment
	// variable.
	AccessKeyId pulumi.StringPtrOutput `pulumi:"accessKeyId"`
	// Custom tags to set on the secret managed at the destination.
	CustomTags pulumi.StringMapOutput `pulumi:"customTags"`
	// Optional extra protection that must match the trust policy granting access to the
	// AWS IAM role ARN. We recommend using a different random UUID per destination. The value is generated by users.
	// The field is mutable with no special condition, but users must be careful that the new value fits with the trust
	// relationship condition they set on AWS otherwise sync operations will start to fail due to client-side access
	// denied errors. Ignored if the `roleArn` field is empty.
	ExternalId pulumi.StringPtrOutput `pulumi:"externalId"`
	// Determines what level of information is synced as a distinct resource
	// at the destination. Supports `secret-path` and `secret-key`.
	Granularity pulumi.StringPtrOutput `pulumi:"granularity"`
	// Unique name of the AWS destination.
	Name pulumi.StringOutput `pulumi:"name"`
	// The namespace to provision the resource in.
	// The value should not contain leading or trailing forward slashes.
	// The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
	Namespace pulumi.StringPtrOutput `pulumi:"namespace"`
	// Region where to manage the secrets manager entries.
	// Can be omitted and directly provided to Vault using the `AWS_REGION` environment
	// variable.
	Region pulumi.StringPtrOutput `pulumi:"region"`
	// Specifies a role to assume when connecting to AWS. When assuming a role,
	// Vault uses temporary STS credentials to authenticate. An initial session with the proper trust relationship must
	// exist for Vault to be able to assume this role. The role can be in a different account.
	// The value is mutable as long as the new role targets the same AWS account ID. If not, the BE will return an error.
	// It is possible to provide both an access key pair and a role to assume.
	RoleArn pulumi.StringPtrOutput `pulumi:"roleArn"`
	// Secret access key to authenticate against the AWS secrets manager.
	// Can be omitted and directly provided to Vault using the `AWS_SECRET_ACCESS_KEY` environment
	// variable.
	SecretAccessKey pulumi.StringPtrOutput `pulumi:"secretAccessKey"`
	// Template describing how to generate external secret names.
	// Supports a subset of the Go Template syntax.
	SecretNameTemplate pulumi.StringOutput `pulumi:"secretNameTemplate"`
	// The type of the secrets destination (`aws-sm`).
	Type pulumi.StringOutput `pulumi:"type"`
}

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-vault/sdk/v6/go/vault/secrets"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := secrets.NewSyncAwsDestination(ctx, "aws", &secrets.SyncAwsDestinationArgs{
			Name:               pulumi.String("aws-dest"),
			AccessKeyId:        pulumi.Any(accessKeyId),
			SecretAccessKey:    pulumi.Any(secretAccessKey),
			Region:             pulumi.String("us-east-1"),
			RoleArn:            pulumi.String("role-arn"),
			ExternalId:         pulumi.String("external-id"),
			SecretNameTemplate: pulumi.String("vault_{{ .MountAccessor | lowercase }}_{{ .SecretPath | lowercase }}"),
			CustomTags: pulumi.StringMap{
				"foo": pulumi.String("bar"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

AWS Secrets sync destinations can be imported using the `name`, e.g.

```sh $ pulumi import vault:secrets/syncAwsDestination:SyncAwsDestination aws aws-dest ```

func GetSyncAwsDestination

func GetSyncAwsDestination(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *SyncAwsDestinationState, opts ...pulumi.ResourceOption) (*SyncAwsDestination, error)

GetSyncAwsDestination gets an existing SyncAwsDestination 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 NewSyncAwsDestination

func NewSyncAwsDestination(ctx *pulumi.Context,
	name string, args *SyncAwsDestinationArgs, opts ...pulumi.ResourceOption) (*SyncAwsDestination, error)

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

func (*SyncAwsDestination) ElementType

func (*SyncAwsDestination) ElementType() reflect.Type

func (*SyncAwsDestination) ToSyncAwsDestinationOutput

func (i *SyncAwsDestination) ToSyncAwsDestinationOutput() SyncAwsDestinationOutput

func (*SyncAwsDestination) ToSyncAwsDestinationOutputWithContext

func (i *SyncAwsDestination) ToSyncAwsDestinationOutputWithContext(ctx context.Context) SyncAwsDestinationOutput

type SyncAwsDestinationArgs

type SyncAwsDestinationArgs struct {
	// Access key id to authenticate against the AWS secrets manager.
	// Can be omitted and directly provided to Vault using the `AWS_ACCESS_KEY_ID` environment
	// variable.
	AccessKeyId pulumi.StringPtrInput
	// Custom tags to set on the secret managed at the destination.
	CustomTags pulumi.StringMapInput
	// Optional extra protection that must match the trust policy granting access to the
	// AWS IAM role ARN. We recommend using a different random UUID per destination. The value is generated by users.
	// The field is mutable with no special condition, but users must be careful that the new value fits with the trust
	// relationship condition they set on AWS otherwise sync operations will start to fail due to client-side access
	// denied errors. Ignored if the `roleArn` field is empty.
	ExternalId pulumi.StringPtrInput
	// Determines what level of information is synced as a distinct resource
	// at the destination. Supports `secret-path` and `secret-key`.
	Granularity pulumi.StringPtrInput
	// Unique name of the AWS destination.
	Name pulumi.StringPtrInput
	// The namespace to provision the resource in.
	// The value should not contain leading or trailing forward slashes.
	// The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
	Namespace pulumi.StringPtrInput
	// Region where to manage the secrets manager entries.
	// Can be omitted and directly provided to Vault using the `AWS_REGION` environment
	// variable.
	Region pulumi.StringPtrInput
	// Specifies a role to assume when connecting to AWS. When assuming a role,
	// Vault uses temporary STS credentials to authenticate. An initial session with the proper trust relationship must
	// exist for Vault to be able to assume this role. The role can be in a different account.
	// The value is mutable as long as the new role targets the same AWS account ID. If not, the BE will return an error.
	// It is possible to provide both an access key pair and a role to assume.
	RoleArn pulumi.StringPtrInput
	// Secret access key to authenticate against the AWS secrets manager.
	// Can be omitted and directly provided to Vault using the `AWS_SECRET_ACCESS_KEY` environment
	// variable.
	SecretAccessKey pulumi.StringPtrInput
	// Template describing how to generate external secret names.
	// Supports a subset of the Go Template syntax.
	SecretNameTemplate pulumi.StringPtrInput
}

The set of arguments for constructing a SyncAwsDestination resource.

func (SyncAwsDestinationArgs) ElementType

func (SyncAwsDestinationArgs) ElementType() reflect.Type

type SyncAwsDestinationArray

type SyncAwsDestinationArray []SyncAwsDestinationInput

func (SyncAwsDestinationArray) ElementType

func (SyncAwsDestinationArray) ElementType() reflect.Type

func (SyncAwsDestinationArray) ToSyncAwsDestinationArrayOutput

func (i SyncAwsDestinationArray) ToSyncAwsDestinationArrayOutput() SyncAwsDestinationArrayOutput

func (SyncAwsDestinationArray) ToSyncAwsDestinationArrayOutputWithContext

func (i SyncAwsDestinationArray) ToSyncAwsDestinationArrayOutputWithContext(ctx context.Context) SyncAwsDestinationArrayOutput

type SyncAwsDestinationArrayInput

type SyncAwsDestinationArrayInput interface {
	pulumi.Input

	ToSyncAwsDestinationArrayOutput() SyncAwsDestinationArrayOutput
	ToSyncAwsDestinationArrayOutputWithContext(context.Context) SyncAwsDestinationArrayOutput
}

SyncAwsDestinationArrayInput is an input type that accepts SyncAwsDestinationArray and SyncAwsDestinationArrayOutput values. You can construct a concrete instance of `SyncAwsDestinationArrayInput` via:

SyncAwsDestinationArray{ SyncAwsDestinationArgs{...} }

type SyncAwsDestinationArrayOutput

type SyncAwsDestinationArrayOutput struct{ *pulumi.OutputState }

func (SyncAwsDestinationArrayOutput) ElementType

func (SyncAwsDestinationArrayOutput) Index

func (SyncAwsDestinationArrayOutput) ToSyncAwsDestinationArrayOutput

func (o SyncAwsDestinationArrayOutput) ToSyncAwsDestinationArrayOutput() SyncAwsDestinationArrayOutput

func (SyncAwsDestinationArrayOutput) ToSyncAwsDestinationArrayOutputWithContext

func (o SyncAwsDestinationArrayOutput) ToSyncAwsDestinationArrayOutputWithContext(ctx context.Context) SyncAwsDestinationArrayOutput

type SyncAwsDestinationInput

type SyncAwsDestinationInput interface {
	pulumi.Input

	ToSyncAwsDestinationOutput() SyncAwsDestinationOutput
	ToSyncAwsDestinationOutputWithContext(ctx context.Context) SyncAwsDestinationOutput
}

type SyncAwsDestinationMap

type SyncAwsDestinationMap map[string]SyncAwsDestinationInput

func (SyncAwsDestinationMap) ElementType

func (SyncAwsDestinationMap) ElementType() reflect.Type

func (SyncAwsDestinationMap) ToSyncAwsDestinationMapOutput

func (i SyncAwsDestinationMap) ToSyncAwsDestinationMapOutput() SyncAwsDestinationMapOutput

func (SyncAwsDestinationMap) ToSyncAwsDestinationMapOutputWithContext

func (i SyncAwsDestinationMap) ToSyncAwsDestinationMapOutputWithContext(ctx context.Context) SyncAwsDestinationMapOutput

type SyncAwsDestinationMapInput

type SyncAwsDestinationMapInput interface {
	pulumi.Input

	ToSyncAwsDestinationMapOutput() SyncAwsDestinationMapOutput
	ToSyncAwsDestinationMapOutputWithContext(context.Context) SyncAwsDestinationMapOutput
}

SyncAwsDestinationMapInput is an input type that accepts SyncAwsDestinationMap and SyncAwsDestinationMapOutput values. You can construct a concrete instance of `SyncAwsDestinationMapInput` via:

SyncAwsDestinationMap{ "key": SyncAwsDestinationArgs{...} }

type SyncAwsDestinationMapOutput

type SyncAwsDestinationMapOutput struct{ *pulumi.OutputState }

func (SyncAwsDestinationMapOutput) ElementType

func (SyncAwsDestinationMapOutput) MapIndex

func (SyncAwsDestinationMapOutput) ToSyncAwsDestinationMapOutput

func (o SyncAwsDestinationMapOutput) ToSyncAwsDestinationMapOutput() SyncAwsDestinationMapOutput

func (SyncAwsDestinationMapOutput) ToSyncAwsDestinationMapOutputWithContext

func (o SyncAwsDestinationMapOutput) ToSyncAwsDestinationMapOutputWithContext(ctx context.Context) SyncAwsDestinationMapOutput

type SyncAwsDestinationOutput

type SyncAwsDestinationOutput struct{ *pulumi.OutputState }

func (SyncAwsDestinationOutput) AccessKeyId

Access key id to authenticate against the AWS secrets manager. Can be omitted and directly provided to Vault using the `AWS_ACCESS_KEY_ID` environment variable.

func (SyncAwsDestinationOutput) CustomTags

Custom tags to set on the secret managed at the destination.

func (SyncAwsDestinationOutput) ElementType

func (SyncAwsDestinationOutput) ElementType() reflect.Type

func (SyncAwsDestinationOutput) ExternalId

Optional extra protection that must match the trust policy granting access to the AWS IAM role ARN. We recommend using a different random UUID per destination. The value is generated by users. The field is mutable with no special condition, but users must be careful that the new value fits with the trust relationship condition they set on AWS otherwise sync operations will start to fail due to client-side access denied errors. Ignored if the `roleArn` field is empty.

func (SyncAwsDestinationOutput) Granularity added in v6.1.0

Determines what level of information is synced as a distinct resource at the destination. Supports `secret-path` and `secret-key`.

func (SyncAwsDestinationOutput) Name

Unique name of the AWS destination.

func (SyncAwsDestinationOutput) Namespace

The namespace to provision the resource in. The value should not contain leading or trailing forward slashes. The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).

func (SyncAwsDestinationOutput) Region

Region where to manage the secrets manager entries. Can be omitted and directly provided to Vault using the `AWS_REGION` environment variable.

func (SyncAwsDestinationOutput) RoleArn

Specifies a role to assume when connecting to AWS. When assuming a role, Vault uses temporary STS credentials to authenticate. An initial session with the proper trust relationship must exist for Vault to be able to assume this role. The role can be in a different account. The value is mutable as long as the new role targets the same AWS account ID. If not, the BE will return an error. It is possible to provide both an access key pair and a role to assume.

func (SyncAwsDestinationOutput) SecretAccessKey

func (o SyncAwsDestinationOutput) SecretAccessKey() pulumi.StringPtrOutput

Secret access key to authenticate against the AWS secrets manager. Can be omitted and directly provided to Vault using the `AWS_SECRET_ACCESS_KEY` environment variable.

func (SyncAwsDestinationOutput) SecretNameTemplate

func (o SyncAwsDestinationOutput) SecretNameTemplate() pulumi.StringOutput

Template describing how to generate external secret names. Supports a subset of the Go Template syntax.

func (SyncAwsDestinationOutput) ToSyncAwsDestinationOutput

func (o SyncAwsDestinationOutput) ToSyncAwsDestinationOutput() SyncAwsDestinationOutput

func (SyncAwsDestinationOutput) ToSyncAwsDestinationOutputWithContext

func (o SyncAwsDestinationOutput) ToSyncAwsDestinationOutputWithContext(ctx context.Context) SyncAwsDestinationOutput

func (SyncAwsDestinationOutput) Type

The type of the secrets destination (`aws-sm`).

type SyncAwsDestinationState

type SyncAwsDestinationState struct {
	// Access key id to authenticate against the AWS secrets manager.
	// Can be omitted and directly provided to Vault using the `AWS_ACCESS_KEY_ID` environment
	// variable.
	AccessKeyId pulumi.StringPtrInput
	// Custom tags to set on the secret managed at the destination.
	CustomTags pulumi.StringMapInput
	// Optional extra protection that must match the trust policy granting access to the
	// AWS IAM role ARN. We recommend using a different random UUID per destination. The value is generated by users.
	// The field is mutable with no special condition, but users must be careful that the new value fits with the trust
	// relationship condition they set on AWS otherwise sync operations will start to fail due to client-side access
	// denied errors. Ignored if the `roleArn` field is empty.
	ExternalId pulumi.StringPtrInput
	// Determines what level of information is synced as a distinct resource
	// at the destination. Supports `secret-path` and `secret-key`.
	Granularity pulumi.StringPtrInput
	// Unique name of the AWS destination.
	Name pulumi.StringPtrInput
	// The namespace to provision the resource in.
	// The value should not contain leading or trailing forward slashes.
	// The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
	Namespace pulumi.StringPtrInput
	// Region where to manage the secrets manager entries.
	// Can be omitted and directly provided to Vault using the `AWS_REGION` environment
	// variable.
	Region pulumi.StringPtrInput
	// Specifies a role to assume when connecting to AWS. When assuming a role,
	// Vault uses temporary STS credentials to authenticate. An initial session with the proper trust relationship must
	// exist for Vault to be able to assume this role. The role can be in a different account.
	// The value is mutable as long as the new role targets the same AWS account ID. If not, the BE will return an error.
	// It is possible to provide both an access key pair and a role to assume.
	RoleArn pulumi.StringPtrInput
	// Secret access key to authenticate against the AWS secrets manager.
	// Can be omitted and directly provided to Vault using the `AWS_SECRET_ACCESS_KEY` environment
	// variable.
	SecretAccessKey pulumi.StringPtrInput
	// Template describing how to generate external secret names.
	// Supports a subset of the Go Template syntax.
	SecretNameTemplate pulumi.StringPtrInput
	// The type of the secrets destination (`aws-sm`).
	Type pulumi.StringPtrInput
}

func (SyncAwsDestinationState) ElementType

func (SyncAwsDestinationState) ElementType() reflect.Type

type SyncAzureDestination

type SyncAzureDestination struct {
	pulumi.CustomResourceState

	// Client ID of an Azure app registration.
	// Can be omitted and directly provided to Vault using the `AZURE_CLIENT_ID` environment
	// variable.
	ClientId pulumi.StringPtrOutput `pulumi:"clientId"`
	// Client Secret of an Azure app registration.
	// Can be omitted and directly provided to Vault using the `AZURE_CLIENT_SECRET` environment
	// variable.
	ClientSecret pulumi.StringPtrOutput `pulumi:"clientSecret"`
	// Specifies a cloud for the client. The default is Azure Public Cloud.
	Cloud pulumi.StringPtrOutput `pulumi:"cloud"`
	// Custom tags to set on the secret managed at the destination.
	CustomTags pulumi.StringMapOutput `pulumi:"customTags"`
	// Determines what level of information is synced as a distinct resource
	// at the destination. Supports `secret-path` and `secret-key`.
	Granularity pulumi.StringPtrOutput `pulumi:"granularity"`
	// URI of an existing Azure Key Vault instance.
	// Can be omitted and directly provided to Vault using the `KEY_VAULT_URI` environment
	// variable.
	KeyVaultUri pulumi.StringPtrOutput `pulumi:"keyVaultUri"`
	// Unique name of the Azure destination.
	Name pulumi.StringOutput `pulumi:"name"`
	// The namespace to provision the resource in.
	// The value should not contain leading or trailing forward slashes.
	// The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
	Namespace pulumi.StringPtrOutput `pulumi:"namespace"`
	// Template describing how to generate external secret names.
	// Supports a subset of the Go Template syntax.
	SecretNameTemplate pulumi.StringOutput `pulumi:"secretNameTemplate"`
	// ID of the target Azure tenant.
	// Can be omitted and directly provided to Vault using the `AZURE_TENANT_ID` environment
	// variable.
	TenantId pulumi.StringPtrOutput `pulumi:"tenantId"`
	// The type of the secrets destination (`azure-kv`).
	Type pulumi.StringOutput `pulumi:"type"`
}

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-vault/sdk/v6/go/vault/secrets"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := secrets.NewSyncAzureDestination(ctx, "az", &secrets.SyncAzureDestinationArgs{
			Name:               pulumi.String("az-dest"),
			KeyVaultUri:        pulumi.Any(keyVaultUri),
			ClientId:           pulumi.Any(clientId),
			ClientSecret:       pulumi.Any(clientSecret),
			TenantId:           pulumi.Any(tenantId),
			SecretNameTemplate: pulumi.String("vault_{{ .MountAccessor | lowercase }}_{{ .SecretPath | lowercase }}"),
			CustomTags: pulumi.StringMap{
				"foo": pulumi.String("bar"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Azure Secrets sync destinations can be imported using the `name`, e.g.

```sh $ pulumi import vault:secrets/syncAzureDestination:SyncAzureDestination az az-dest ```

func GetSyncAzureDestination

func GetSyncAzureDestination(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *SyncAzureDestinationState, opts ...pulumi.ResourceOption) (*SyncAzureDestination, error)

GetSyncAzureDestination gets an existing SyncAzureDestination 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 NewSyncAzureDestination

func NewSyncAzureDestination(ctx *pulumi.Context,
	name string, args *SyncAzureDestinationArgs, opts ...pulumi.ResourceOption) (*SyncAzureDestination, error)

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

func (*SyncAzureDestination) ElementType

func (*SyncAzureDestination) ElementType() reflect.Type

func (*SyncAzureDestination) ToSyncAzureDestinationOutput

func (i *SyncAzureDestination) ToSyncAzureDestinationOutput() SyncAzureDestinationOutput

func (*SyncAzureDestination) ToSyncAzureDestinationOutputWithContext

func (i *SyncAzureDestination) ToSyncAzureDestinationOutputWithContext(ctx context.Context) SyncAzureDestinationOutput

type SyncAzureDestinationArgs

type SyncAzureDestinationArgs struct {
	// Client ID of an Azure app registration.
	// Can be omitted and directly provided to Vault using the `AZURE_CLIENT_ID` environment
	// variable.
	ClientId pulumi.StringPtrInput
	// Client Secret of an Azure app registration.
	// Can be omitted and directly provided to Vault using the `AZURE_CLIENT_SECRET` environment
	// variable.
	ClientSecret pulumi.StringPtrInput
	// Specifies a cloud for the client. The default is Azure Public Cloud.
	Cloud pulumi.StringPtrInput
	// Custom tags to set on the secret managed at the destination.
	CustomTags pulumi.StringMapInput
	// Determines what level of information is synced as a distinct resource
	// at the destination. Supports `secret-path` and `secret-key`.
	Granularity pulumi.StringPtrInput
	// URI of an existing Azure Key Vault instance.
	// Can be omitted and directly provided to Vault using the `KEY_VAULT_URI` environment
	// variable.
	KeyVaultUri pulumi.StringPtrInput
	// Unique name of the Azure destination.
	Name pulumi.StringPtrInput
	// The namespace to provision the resource in.
	// The value should not contain leading or trailing forward slashes.
	// The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
	Namespace pulumi.StringPtrInput
	// Template describing how to generate external secret names.
	// Supports a subset of the Go Template syntax.
	SecretNameTemplate pulumi.StringPtrInput
	// ID of the target Azure tenant.
	// Can be omitted and directly provided to Vault using the `AZURE_TENANT_ID` environment
	// variable.
	TenantId pulumi.StringPtrInput
}

The set of arguments for constructing a SyncAzureDestination resource.

func (SyncAzureDestinationArgs) ElementType

func (SyncAzureDestinationArgs) ElementType() reflect.Type

type SyncAzureDestinationArray

type SyncAzureDestinationArray []SyncAzureDestinationInput

func (SyncAzureDestinationArray) ElementType

func (SyncAzureDestinationArray) ElementType() reflect.Type

func (SyncAzureDestinationArray) ToSyncAzureDestinationArrayOutput

func (i SyncAzureDestinationArray) ToSyncAzureDestinationArrayOutput() SyncAzureDestinationArrayOutput

func (SyncAzureDestinationArray) ToSyncAzureDestinationArrayOutputWithContext

func (i SyncAzureDestinationArray) ToSyncAzureDestinationArrayOutputWithContext(ctx context.Context) SyncAzureDestinationArrayOutput

type SyncAzureDestinationArrayInput

type SyncAzureDestinationArrayInput interface {
	pulumi.Input

	ToSyncAzureDestinationArrayOutput() SyncAzureDestinationArrayOutput
	ToSyncAzureDestinationArrayOutputWithContext(context.Context) SyncAzureDestinationArrayOutput
}

SyncAzureDestinationArrayInput is an input type that accepts SyncAzureDestinationArray and SyncAzureDestinationArrayOutput values. You can construct a concrete instance of `SyncAzureDestinationArrayInput` via:

SyncAzureDestinationArray{ SyncAzureDestinationArgs{...} }

type SyncAzureDestinationArrayOutput

type SyncAzureDestinationArrayOutput struct{ *pulumi.OutputState }

func (SyncAzureDestinationArrayOutput) ElementType

func (SyncAzureDestinationArrayOutput) Index

func (SyncAzureDestinationArrayOutput) ToSyncAzureDestinationArrayOutput

func (o SyncAzureDestinationArrayOutput) ToSyncAzureDestinationArrayOutput() SyncAzureDestinationArrayOutput

func (SyncAzureDestinationArrayOutput) ToSyncAzureDestinationArrayOutputWithContext

func (o SyncAzureDestinationArrayOutput) ToSyncAzureDestinationArrayOutputWithContext(ctx context.Context) SyncAzureDestinationArrayOutput

type SyncAzureDestinationInput

type SyncAzureDestinationInput interface {
	pulumi.Input

	ToSyncAzureDestinationOutput() SyncAzureDestinationOutput
	ToSyncAzureDestinationOutputWithContext(ctx context.Context) SyncAzureDestinationOutput
}

type SyncAzureDestinationMap

type SyncAzureDestinationMap map[string]SyncAzureDestinationInput

func (SyncAzureDestinationMap) ElementType

func (SyncAzureDestinationMap) ElementType() reflect.Type

func (SyncAzureDestinationMap) ToSyncAzureDestinationMapOutput

func (i SyncAzureDestinationMap) ToSyncAzureDestinationMapOutput() SyncAzureDestinationMapOutput

func (SyncAzureDestinationMap) ToSyncAzureDestinationMapOutputWithContext

func (i SyncAzureDestinationMap) ToSyncAzureDestinationMapOutputWithContext(ctx context.Context) SyncAzureDestinationMapOutput

type SyncAzureDestinationMapInput

type SyncAzureDestinationMapInput interface {
	pulumi.Input

	ToSyncAzureDestinationMapOutput() SyncAzureDestinationMapOutput
	ToSyncAzureDestinationMapOutputWithContext(context.Context) SyncAzureDestinationMapOutput
}

SyncAzureDestinationMapInput is an input type that accepts SyncAzureDestinationMap and SyncAzureDestinationMapOutput values. You can construct a concrete instance of `SyncAzureDestinationMapInput` via:

SyncAzureDestinationMap{ "key": SyncAzureDestinationArgs{...} }

type SyncAzureDestinationMapOutput

type SyncAzureDestinationMapOutput struct{ *pulumi.OutputState }

func (SyncAzureDestinationMapOutput) ElementType

func (SyncAzureDestinationMapOutput) MapIndex

func (SyncAzureDestinationMapOutput) ToSyncAzureDestinationMapOutput

func (o SyncAzureDestinationMapOutput) ToSyncAzureDestinationMapOutput() SyncAzureDestinationMapOutput

func (SyncAzureDestinationMapOutput) ToSyncAzureDestinationMapOutputWithContext

func (o SyncAzureDestinationMapOutput) ToSyncAzureDestinationMapOutputWithContext(ctx context.Context) SyncAzureDestinationMapOutput

type SyncAzureDestinationOutput

type SyncAzureDestinationOutput struct{ *pulumi.OutputState }

func (SyncAzureDestinationOutput) ClientId

Client ID of an Azure app registration. Can be omitted and directly provided to Vault using the `AZURE_CLIENT_ID` environment variable.

func (SyncAzureDestinationOutput) ClientSecret

Client Secret of an Azure app registration. Can be omitted and directly provided to Vault using the `AZURE_CLIENT_SECRET` environment variable.

func (SyncAzureDestinationOutput) Cloud

Specifies a cloud for the client. The default is Azure Public Cloud.

func (SyncAzureDestinationOutput) CustomTags

Custom tags to set on the secret managed at the destination.

func (SyncAzureDestinationOutput) ElementType

func (SyncAzureDestinationOutput) ElementType() reflect.Type

func (SyncAzureDestinationOutput) Granularity added in v6.1.0

Determines what level of information is synced as a distinct resource at the destination. Supports `secret-path` and `secret-key`.

func (SyncAzureDestinationOutput) KeyVaultUri

URI of an existing Azure Key Vault instance. Can be omitted and directly provided to Vault using the `KEY_VAULT_URI` environment variable.

func (SyncAzureDestinationOutput) Name

Unique name of the Azure destination.

func (SyncAzureDestinationOutput) Namespace

The namespace to provision the resource in. The value should not contain leading or trailing forward slashes. The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).

func (SyncAzureDestinationOutput) SecretNameTemplate

func (o SyncAzureDestinationOutput) SecretNameTemplate() pulumi.StringOutput

Template describing how to generate external secret names. Supports a subset of the Go Template syntax.

func (SyncAzureDestinationOutput) TenantId

ID of the target Azure tenant. Can be omitted and directly provided to Vault using the `AZURE_TENANT_ID` environment variable.

func (SyncAzureDestinationOutput) ToSyncAzureDestinationOutput

func (o SyncAzureDestinationOutput) ToSyncAzureDestinationOutput() SyncAzureDestinationOutput

func (SyncAzureDestinationOutput) ToSyncAzureDestinationOutputWithContext

func (o SyncAzureDestinationOutput) ToSyncAzureDestinationOutputWithContext(ctx context.Context) SyncAzureDestinationOutput

func (SyncAzureDestinationOutput) Type

The type of the secrets destination (`azure-kv`).

type SyncAzureDestinationState

type SyncAzureDestinationState struct {
	// Client ID of an Azure app registration.
	// Can be omitted and directly provided to Vault using the `AZURE_CLIENT_ID` environment
	// variable.
	ClientId pulumi.StringPtrInput
	// Client Secret of an Azure app registration.
	// Can be omitted and directly provided to Vault using the `AZURE_CLIENT_SECRET` environment
	// variable.
	ClientSecret pulumi.StringPtrInput
	// Specifies a cloud for the client. The default is Azure Public Cloud.
	Cloud pulumi.StringPtrInput
	// Custom tags to set on the secret managed at the destination.
	CustomTags pulumi.StringMapInput
	// Determines what level of information is synced as a distinct resource
	// at the destination. Supports `secret-path` and `secret-key`.
	Granularity pulumi.StringPtrInput
	// URI of an existing Azure Key Vault instance.
	// Can be omitted and directly provided to Vault using the `KEY_VAULT_URI` environment
	// variable.
	KeyVaultUri pulumi.StringPtrInput
	// Unique name of the Azure destination.
	Name pulumi.StringPtrInput
	// The namespace to provision the resource in.
	// The value should not contain leading or trailing forward slashes.
	// The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
	Namespace pulumi.StringPtrInput
	// Template describing how to generate external secret names.
	// Supports a subset of the Go Template syntax.
	SecretNameTemplate pulumi.StringPtrInput
	// ID of the target Azure tenant.
	// Can be omitted and directly provided to Vault using the `AZURE_TENANT_ID` environment
	// variable.
	TenantId pulumi.StringPtrInput
	// The type of the secrets destination (`azure-kv`).
	Type pulumi.StringPtrInput
}

func (SyncAzureDestinationState) ElementType

func (SyncAzureDestinationState) ElementType() reflect.Type

type SyncConfig

type SyncConfig struct {
	pulumi.CustomResourceState

	// Disables the syncing process between Vault and external destinations. Defaults to `false`.
	Disabled pulumi.BoolPtrOutput `pulumi:"disabled"`
	// The namespace to provision the resource in.
	// This resource can only be configured in the root namespace.
	// *Available only for Vault Enterprise*.
	Namespace pulumi.StringPtrOutput `pulumi:"namespace"`
	// Maximum number of pending sync operations allowed on the queue. Defaults to `1000000`.
	QueueCapacity pulumi.IntPtrOutput `pulumi:"queueCapacity"`
}

Configures the secret sync global config. The config is global and can only be managed in the root namespace.

> **Important** The config is global so the secrets.SyncConfig resource must not be defined multiple times for the same Vault server. If multiple definition exists, the last one applied will be effective.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-vault/sdk/v6/go/vault/secrets"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := secrets.NewSyncConfig(ctx, "global_config", &secrets.SyncConfigArgs{
			Disabled:      pulumi.Bool(true),
			QueueCapacity: pulumi.Int(500000),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

```sh $ pulumi import vault:secrets/syncConfig:SyncConfig config global_config ```

func GetSyncConfig

func GetSyncConfig(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *SyncConfigState, opts ...pulumi.ResourceOption) (*SyncConfig, error)

GetSyncConfig gets an existing SyncConfig 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 NewSyncConfig

func NewSyncConfig(ctx *pulumi.Context,
	name string, args *SyncConfigArgs, opts ...pulumi.ResourceOption) (*SyncConfig, error)

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

func (*SyncConfig) ElementType

func (*SyncConfig) ElementType() reflect.Type

func (*SyncConfig) ToSyncConfigOutput

func (i *SyncConfig) ToSyncConfigOutput() SyncConfigOutput

func (*SyncConfig) ToSyncConfigOutputWithContext

func (i *SyncConfig) ToSyncConfigOutputWithContext(ctx context.Context) SyncConfigOutput

type SyncConfigArgs

type SyncConfigArgs struct {
	// Disables the syncing process between Vault and external destinations. Defaults to `false`.
	Disabled pulumi.BoolPtrInput
	// The namespace to provision the resource in.
	// This resource can only be configured in the root namespace.
	// *Available only for Vault Enterprise*.
	Namespace pulumi.StringPtrInput
	// Maximum number of pending sync operations allowed on the queue. Defaults to `1000000`.
	QueueCapacity pulumi.IntPtrInput
}

The set of arguments for constructing a SyncConfig resource.

func (SyncConfigArgs) ElementType

func (SyncConfigArgs) ElementType() reflect.Type

type SyncConfigArray

type SyncConfigArray []SyncConfigInput

func (SyncConfigArray) ElementType

func (SyncConfigArray) ElementType() reflect.Type

func (SyncConfigArray) ToSyncConfigArrayOutput

func (i SyncConfigArray) ToSyncConfigArrayOutput() SyncConfigArrayOutput

func (SyncConfigArray) ToSyncConfigArrayOutputWithContext

func (i SyncConfigArray) ToSyncConfigArrayOutputWithContext(ctx context.Context) SyncConfigArrayOutput

type SyncConfigArrayInput

type SyncConfigArrayInput interface {
	pulumi.Input

	ToSyncConfigArrayOutput() SyncConfigArrayOutput
	ToSyncConfigArrayOutputWithContext(context.Context) SyncConfigArrayOutput
}

SyncConfigArrayInput is an input type that accepts SyncConfigArray and SyncConfigArrayOutput values. You can construct a concrete instance of `SyncConfigArrayInput` via:

SyncConfigArray{ SyncConfigArgs{...} }

type SyncConfigArrayOutput

type SyncConfigArrayOutput struct{ *pulumi.OutputState }

func (SyncConfigArrayOutput) ElementType

func (SyncConfigArrayOutput) ElementType() reflect.Type

func (SyncConfigArrayOutput) Index

func (SyncConfigArrayOutput) ToSyncConfigArrayOutput

func (o SyncConfigArrayOutput) ToSyncConfigArrayOutput() SyncConfigArrayOutput

func (SyncConfigArrayOutput) ToSyncConfigArrayOutputWithContext

func (o SyncConfigArrayOutput) ToSyncConfigArrayOutputWithContext(ctx context.Context) SyncConfigArrayOutput

type SyncConfigInput

type SyncConfigInput interface {
	pulumi.Input

	ToSyncConfigOutput() SyncConfigOutput
	ToSyncConfigOutputWithContext(ctx context.Context) SyncConfigOutput
}

type SyncConfigMap

type SyncConfigMap map[string]SyncConfigInput

func (SyncConfigMap) ElementType

func (SyncConfigMap) ElementType() reflect.Type

func (SyncConfigMap) ToSyncConfigMapOutput

func (i SyncConfigMap) ToSyncConfigMapOutput() SyncConfigMapOutput

func (SyncConfigMap) ToSyncConfigMapOutputWithContext

func (i SyncConfigMap) ToSyncConfigMapOutputWithContext(ctx context.Context) SyncConfigMapOutput

type SyncConfigMapInput

type SyncConfigMapInput interface {
	pulumi.Input

	ToSyncConfigMapOutput() SyncConfigMapOutput
	ToSyncConfigMapOutputWithContext(context.Context) SyncConfigMapOutput
}

SyncConfigMapInput is an input type that accepts SyncConfigMap and SyncConfigMapOutput values. You can construct a concrete instance of `SyncConfigMapInput` via:

SyncConfigMap{ "key": SyncConfigArgs{...} }

type SyncConfigMapOutput

type SyncConfigMapOutput struct{ *pulumi.OutputState }

func (SyncConfigMapOutput) ElementType

func (SyncConfigMapOutput) ElementType() reflect.Type

func (SyncConfigMapOutput) MapIndex

func (SyncConfigMapOutput) ToSyncConfigMapOutput

func (o SyncConfigMapOutput) ToSyncConfigMapOutput() SyncConfigMapOutput

func (SyncConfigMapOutput) ToSyncConfigMapOutputWithContext

func (o SyncConfigMapOutput) ToSyncConfigMapOutputWithContext(ctx context.Context) SyncConfigMapOutput

type SyncConfigOutput

type SyncConfigOutput struct{ *pulumi.OutputState }

func (SyncConfigOutput) Disabled

func (o SyncConfigOutput) Disabled() pulumi.BoolPtrOutput

Disables the syncing process between Vault and external destinations. Defaults to `false`.

func (SyncConfigOutput) ElementType

func (SyncConfigOutput) ElementType() reflect.Type

func (SyncConfigOutput) Namespace

func (o SyncConfigOutput) Namespace() pulumi.StringPtrOutput

The namespace to provision the resource in. This resource can only be configured in the root namespace. *Available only for Vault Enterprise*.

func (SyncConfigOutput) QueueCapacity

func (o SyncConfigOutput) QueueCapacity() pulumi.IntPtrOutput

Maximum number of pending sync operations allowed on the queue. Defaults to `1000000`.

func (SyncConfigOutput) ToSyncConfigOutput

func (o SyncConfigOutput) ToSyncConfigOutput() SyncConfigOutput

func (SyncConfigOutput) ToSyncConfigOutputWithContext

func (o SyncConfigOutput) ToSyncConfigOutputWithContext(ctx context.Context) SyncConfigOutput

type SyncConfigState

type SyncConfigState struct {
	// Disables the syncing process between Vault and external destinations. Defaults to `false`.
	Disabled pulumi.BoolPtrInput
	// The namespace to provision the resource in.
	// This resource can only be configured in the root namespace.
	// *Available only for Vault Enterprise*.
	Namespace pulumi.StringPtrInput
	// Maximum number of pending sync operations allowed on the queue. Defaults to `1000000`.
	QueueCapacity pulumi.IntPtrInput
}

func (SyncConfigState) ElementType

func (SyncConfigState) ElementType() reflect.Type

type SyncGcpDestination

type SyncGcpDestination struct {
	pulumi.CustomResourceState

	// JSON-encoded credentials to use to connect to GCP.
	// Can be omitted and directly provided to Vault using the `GOOGLE_APPLICATION_CREDENTIALS` environment
	// variable.
	Credentials pulumi.StringPtrOutput `pulumi:"credentials"`
	// Custom tags to set on the secret managed at the destination.
	CustomTags pulumi.StringMapOutput `pulumi:"customTags"`
	// Determines what level of information is synced as a distinct resource
	// at the destination. Supports `secret-path` and `secret-key`.
	Granularity pulumi.StringPtrOutput `pulumi:"granularity"`
	// Unique name of the GCP destination.
	Name pulumi.StringOutput `pulumi:"name"`
	// The namespace to provision the resource in.
	// The value should not contain leading or trailing forward slashes.
	// The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
	Namespace pulumi.StringPtrOutput `pulumi:"namespace"`
	// The target project to manage secrets in. If set,
	// overrides the project ID derived from the service account JSON credentials or application
	// default credentials. The service account must be [authorized](https://cloud.google.com/iam/docs/service-account-overview#locations)
	// to perform Secret Manager actions in the target project.
	ProjectId pulumi.StringPtrOutput `pulumi:"projectId"`
	// Template describing how to generate external secret names.
	// Supports a subset of the Go Template syntax.
	SecretNameTemplate pulumi.StringOutput `pulumi:"secretNameTemplate"`
	// The type of the secrets destination (`gcp-sm`).
	Type pulumi.StringOutput `pulumi:"type"`
}

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-std/sdk/go/std"
"github.com/pulumi/pulumi-vault/sdk/v6/go/vault/secrets"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		invokeFile, err := std.File(ctx, &std.FileArgs{
			Input: credentialsFile,
		}, nil)
		if err != nil {
			return err
		}
		_, err = secrets.NewSyncGcpDestination(ctx, "gcp", &secrets.SyncGcpDestinationArgs{
			Name:               pulumi.String("gcp-dest"),
			ProjectId:          pulumi.String("gcp-project-id"),
			Credentials:        pulumi.String(invokeFile.Result),
			SecretNameTemplate: pulumi.String("vault_{{ .MountAccessor | lowercase }}_{{ .SecretPath | lowercase }}"),
			CustomTags: pulumi.StringMap{
				"foo": pulumi.String("bar"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

GCP Secrets sync destinations can be imported using the `name`, e.g.

```sh $ pulumi import vault:secrets/syncGcpDestination:SyncGcpDestination gcp gcp-dest ```

func GetSyncGcpDestination

func GetSyncGcpDestination(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *SyncGcpDestinationState, opts ...pulumi.ResourceOption) (*SyncGcpDestination, error)

GetSyncGcpDestination gets an existing SyncGcpDestination 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 NewSyncGcpDestination

func NewSyncGcpDestination(ctx *pulumi.Context,
	name string, args *SyncGcpDestinationArgs, opts ...pulumi.ResourceOption) (*SyncGcpDestination, error)

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

func (*SyncGcpDestination) ElementType

func (*SyncGcpDestination) ElementType() reflect.Type

func (*SyncGcpDestination) ToSyncGcpDestinationOutput

func (i *SyncGcpDestination) ToSyncGcpDestinationOutput() SyncGcpDestinationOutput

func (*SyncGcpDestination) ToSyncGcpDestinationOutputWithContext

func (i *SyncGcpDestination) ToSyncGcpDestinationOutputWithContext(ctx context.Context) SyncGcpDestinationOutput

type SyncGcpDestinationArgs

type SyncGcpDestinationArgs struct {
	// JSON-encoded credentials to use to connect to GCP.
	// Can be omitted and directly provided to Vault using the `GOOGLE_APPLICATION_CREDENTIALS` environment
	// variable.
	Credentials pulumi.StringPtrInput
	// Custom tags to set on the secret managed at the destination.
	CustomTags pulumi.StringMapInput
	// Determines what level of information is synced as a distinct resource
	// at the destination. Supports `secret-path` and `secret-key`.
	Granularity pulumi.StringPtrInput
	// Unique name of the GCP destination.
	Name pulumi.StringPtrInput
	// The namespace to provision the resource in.
	// The value should not contain leading or trailing forward slashes.
	// The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
	Namespace pulumi.StringPtrInput
	// The target project to manage secrets in. If set,
	// overrides the project ID derived from the service account JSON credentials or application
	// default credentials. The service account must be [authorized](https://cloud.google.com/iam/docs/service-account-overview#locations)
	// to perform Secret Manager actions in the target project.
	ProjectId pulumi.StringPtrInput
	// Template describing how to generate external secret names.
	// Supports a subset of the Go Template syntax.
	SecretNameTemplate pulumi.StringPtrInput
}

The set of arguments for constructing a SyncGcpDestination resource.

func (SyncGcpDestinationArgs) ElementType

func (SyncGcpDestinationArgs) ElementType() reflect.Type

type SyncGcpDestinationArray

type SyncGcpDestinationArray []SyncGcpDestinationInput

func (SyncGcpDestinationArray) ElementType

func (SyncGcpDestinationArray) ElementType() reflect.Type

func (SyncGcpDestinationArray) ToSyncGcpDestinationArrayOutput

func (i SyncGcpDestinationArray) ToSyncGcpDestinationArrayOutput() SyncGcpDestinationArrayOutput

func (SyncGcpDestinationArray) ToSyncGcpDestinationArrayOutputWithContext

func (i SyncGcpDestinationArray) ToSyncGcpDestinationArrayOutputWithContext(ctx context.Context) SyncGcpDestinationArrayOutput

type SyncGcpDestinationArrayInput

type SyncGcpDestinationArrayInput interface {
	pulumi.Input

	ToSyncGcpDestinationArrayOutput() SyncGcpDestinationArrayOutput
	ToSyncGcpDestinationArrayOutputWithContext(context.Context) SyncGcpDestinationArrayOutput
}

SyncGcpDestinationArrayInput is an input type that accepts SyncGcpDestinationArray and SyncGcpDestinationArrayOutput values. You can construct a concrete instance of `SyncGcpDestinationArrayInput` via:

SyncGcpDestinationArray{ SyncGcpDestinationArgs{...} }

type SyncGcpDestinationArrayOutput

type SyncGcpDestinationArrayOutput struct{ *pulumi.OutputState }

func (SyncGcpDestinationArrayOutput) ElementType

func (SyncGcpDestinationArrayOutput) Index

func (SyncGcpDestinationArrayOutput) ToSyncGcpDestinationArrayOutput

func (o SyncGcpDestinationArrayOutput) ToSyncGcpDestinationArrayOutput() SyncGcpDestinationArrayOutput

func (SyncGcpDestinationArrayOutput) ToSyncGcpDestinationArrayOutputWithContext

func (o SyncGcpDestinationArrayOutput) ToSyncGcpDestinationArrayOutputWithContext(ctx context.Context) SyncGcpDestinationArrayOutput

type SyncGcpDestinationInput

type SyncGcpDestinationInput interface {
	pulumi.Input

	ToSyncGcpDestinationOutput() SyncGcpDestinationOutput
	ToSyncGcpDestinationOutputWithContext(ctx context.Context) SyncGcpDestinationOutput
}

type SyncGcpDestinationMap

type SyncGcpDestinationMap map[string]SyncGcpDestinationInput

func (SyncGcpDestinationMap) ElementType

func (SyncGcpDestinationMap) ElementType() reflect.Type

func (SyncGcpDestinationMap) ToSyncGcpDestinationMapOutput

func (i SyncGcpDestinationMap) ToSyncGcpDestinationMapOutput() SyncGcpDestinationMapOutput

func (SyncGcpDestinationMap) ToSyncGcpDestinationMapOutputWithContext

func (i SyncGcpDestinationMap) ToSyncGcpDestinationMapOutputWithContext(ctx context.Context) SyncGcpDestinationMapOutput

type SyncGcpDestinationMapInput

type SyncGcpDestinationMapInput interface {
	pulumi.Input

	ToSyncGcpDestinationMapOutput() SyncGcpDestinationMapOutput
	ToSyncGcpDestinationMapOutputWithContext(context.Context) SyncGcpDestinationMapOutput
}

SyncGcpDestinationMapInput is an input type that accepts SyncGcpDestinationMap and SyncGcpDestinationMapOutput values. You can construct a concrete instance of `SyncGcpDestinationMapInput` via:

SyncGcpDestinationMap{ "key": SyncGcpDestinationArgs{...} }

type SyncGcpDestinationMapOutput

type SyncGcpDestinationMapOutput struct{ *pulumi.OutputState }

func (SyncGcpDestinationMapOutput) ElementType

func (SyncGcpDestinationMapOutput) MapIndex

func (SyncGcpDestinationMapOutput) ToSyncGcpDestinationMapOutput

func (o SyncGcpDestinationMapOutput) ToSyncGcpDestinationMapOutput() SyncGcpDestinationMapOutput

func (SyncGcpDestinationMapOutput) ToSyncGcpDestinationMapOutputWithContext

func (o SyncGcpDestinationMapOutput) ToSyncGcpDestinationMapOutputWithContext(ctx context.Context) SyncGcpDestinationMapOutput

type SyncGcpDestinationOutput

type SyncGcpDestinationOutput struct{ *pulumi.OutputState }

func (SyncGcpDestinationOutput) Credentials

JSON-encoded credentials to use to connect to GCP. Can be omitted and directly provided to Vault using the `GOOGLE_APPLICATION_CREDENTIALS` environment variable.

func (SyncGcpDestinationOutput) CustomTags

Custom tags to set on the secret managed at the destination.

func (SyncGcpDestinationOutput) ElementType

func (SyncGcpDestinationOutput) ElementType() reflect.Type

func (SyncGcpDestinationOutput) Granularity added in v6.1.0

Determines what level of information is synced as a distinct resource at the destination. Supports `secret-path` and `secret-key`.

func (SyncGcpDestinationOutput) Name

Unique name of the GCP destination.

func (SyncGcpDestinationOutput) Namespace

The namespace to provision the resource in. The value should not contain leading or trailing forward slashes. The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).

func (SyncGcpDestinationOutput) ProjectId

The target project to manage secrets in. If set, overrides the project ID derived from the service account JSON credentials or application default credentials. The service account must be [authorized](https://cloud.google.com/iam/docs/service-account-overview#locations) to perform Secret Manager actions in the target project.

func (SyncGcpDestinationOutput) SecretNameTemplate

func (o SyncGcpDestinationOutput) SecretNameTemplate() pulumi.StringOutput

Template describing how to generate external secret names. Supports a subset of the Go Template syntax.

func (SyncGcpDestinationOutput) ToSyncGcpDestinationOutput

func (o SyncGcpDestinationOutput) ToSyncGcpDestinationOutput() SyncGcpDestinationOutput

func (SyncGcpDestinationOutput) ToSyncGcpDestinationOutputWithContext

func (o SyncGcpDestinationOutput) ToSyncGcpDestinationOutputWithContext(ctx context.Context) SyncGcpDestinationOutput

func (SyncGcpDestinationOutput) Type

The type of the secrets destination (`gcp-sm`).

type SyncGcpDestinationState

type SyncGcpDestinationState struct {
	// JSON-encoded credentials to use to connect to GCP.
	// Can be omitted and directly provided to Vault using the `GOOGLE_APPLICATION_CREDENTIALS` environment
	// variable.
	Credentials pulumi.StringPtrInput
	// Custom tags to set on the secret managed at the destination.
	CustomTags pulumi.StringMapInput
	// Determines what level of information is synced as a distinct resource
	// at the destination. Supports `secret-path` and `secret-key`.
	Granularity pulumi.StringPtrInput
	// Unique name of the GCP destination.
	Name pulumi.StringPtrInput
	// The namespace to provision the resource in.
	// The value should not contain leading or trailing forward slashes.
	// The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
	Namespace pulumi.StringPtrInput
	// The target project to manage secrets in. If set,
	// overrides the project ID derived from the service account JSON credentials or application
	// default credentials. The service account must be [authorized](https://cloud.google.com/iam/docs/service-account-overview#locations)
	// to perform Secret Manager actions in the target project.
	ProjectId pulumi.StringPtrInput
	// Template describing how to generate external secret names.
	// Supports a subset of the Go Template syntax.
	SecretNameTemplate pulumi.StringPtrInput
	// The type of the secrets destination (`gcp-sm`).
	Type pulumi.StringPtrInput
}

func (SyncGcpDestinationState) ElementType

func (SyncGcpDestinationState) ElementType() reflect.Type

type SyncGhDestination

type SyncGhDestination struct {
	pulumi.CustomResourceState

	// Fine-grained or personal access token.
	// Can be omitted and directly provided to Vault using the `GITHUB_ACCESS_TOKEN` environment
	// variable.
	AccessToken pulumi.StringPtrOutput `pulumi:"accessToken"`
	// The user-defined name of the GitHub App configuration. This is a reference to the name used\
	// on the new endpoint when configuring the GitHub app on the Vault Server. Can be modified.
	// Takes precedence over the `accessToken` field.
	AppName pulumi.StringPtrOutput `pulumi:"appName"`
	// Determines what level of information is synced as a distinct resource
	// at the destination. Supports `secret-path` and `secret-key`.
	Granularity pulumi.StringPtrOutput `pulumi:"granularity"`
	// The ID of the installation generated by GitHub when the app referenced by the `appName`
	// was installed in the user’s GitHub account. Can be modified. Necessary if the `appName` field is also provided.
	InstallationId pulumi.IntPtrOutput `pulumi:"installationId"`
	// Unique name of the GitHub destination.
	Name pulumi.StringOutput `pulumi:"name"`
	// The namespace to provision the resource in.
	// The value should not contain leading or trailing forward slashes.
	// The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
	Namespace pulumi.StringPtrOutput `pulumi:"namespace"`
	// Name of the repository.
	// Can be omitted and directly provided to Vault using the `GITHUB_REPOSITORY_NAME` environment
	// variable.
	RepositoryName pulumi.StringPtrOutput `pulumi:"repositoryName"`
	// GitHub organization or username that owns the repository.
	// Can be omitted and directly provided to Vault using the `GITHUB_REPOSITORY_OWNER` environment
	// variable.
	RepositoryOwner pulumi.StringPtrOutput `pulumi:"repositoryOwner"`
	// Template describing how to generate external secret names.
	// Supports a subset of the Go Template syntax.
	SecretNameTemplate pulumi.StringOutput `pulumi:"secretNameTemplate"`
	// The type of the secrets destination (`gh`).
	Type pulumi.StringOutput `pulumi:"type"`
}

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-vault/sdk/v6/go/vault/secrets"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := secrets.NewSyncGhDestination(ctx, "gh", &secrets.SyncGhDestinationArgs{
			Name:               pulumi.String("gh-dest"),
			AccessToken:        pulumi.Any(accessToken),
			RepositoryOwner:    pulumi.Any(repoOwner),
			RepositoryName:     pulumi.String("repo-name-example"),
			SecretNameTemplate: pulumi.String("vault_{{ .MountAccessor | lowercase }}_{{ .SecretPath | lowercase }}"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

GitHub Secrets sync destinations can be imported using the `name`, e.g.

```sh $ pulumi import vault:secrets/syncGhDestination:SyncGhDestination gh gh-dest ```

func GetSyncGhDestination

func GetSyncGhDestination(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *SyncGhDestinationState, opts ...pulumi.ResourceOption) (*SyncGhDestination, error)

GetSyncGhDestination gets an existing SyncGhDestination 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 NewSyncGhDestination

func NewSyncGhDestination(ctx *pulumi.Context,
	name string, args *SyncGhDestinationArgs, opts ...pulumi.ResourceOption) (*SyncGhDestination, error)

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

func (*SyncGhDestination) ElementType

func (*SyncGhDestination) ElementType() reflect.Type

func (*SyncGhDestination) ToSyncGhDestinationOutput

func (i *SyncGhDestination) ToSyncGhDestinationOutput() SyncGhDestinationOutput

func (*SyncGhDestination) ToSyncGhDestinationOutputWithContext

func (i *SyncGhDestination) ToSyncGhDestinationOutputWithContext(ctx context.Context) SyncGhDestinationOutput

type SyncGhDestinationArgs

type SyncGhDestinationArgs struct {
	// Fine-grained or personal access token.
	// Can be omitted and directly provided to Vault using the `GITHUB_ACCESS_TOKEN` environment
	// variable.
	AccessToken pulumi.StringPtrInput
	// The user-defined name of the GitHub App configuration. This is a reference to the name used\
	// on the new endpoint when configuring the GitHub app on the Vault Server. Can be modified.
	// Takes precedence over the `accessToken` field.
	AppName pulumi.StringPtrInput
	// Determines what level of information is synced as a distinct resource
	// at the destination. Supports `secret-path` and `secret-key`.
	Granularity pulumi.StringPtrInput
	// The ID of the installation generated by GitHub when the app referenced by the `appName`
	// was installed in the user’s GitHub account. Can be modified. Necessary if the `appName` field is also provided.
	InstallationId pulumi.IntPtrInput
	// Unique name of the GitHub destination.
	Name pulumi.StringPtrInput
	// The namespace to provision the resource in.
	// The value should not contain leading or trailing forward slashes.
	// The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
	Namespace pulumi.StringPtrInput
	// Name of the repository.
	// Can be omitted and directly provided to Vault using the `GITHUB_REPOSITORY_NAME` environment
	// variable.
	RepositoryName pulumi.StringPtrInput
	// GitHub organization or username that owns the repository.
	// Can be omitted and directly provided to Vault using the `GITHUB_REPOSITORY_OWNER` environment
	// variable.
	RepositoryOwner pulumi.StringPtrInput
	// Template describing how to generate external secret names.
	// Supports a subset of the Go Template syntax.
	SecretNameTemplate pulumi.StringPtrInput
}

The set of arguments for constructing a SyncGhDestination resource.

func (SyncGhDestinationArgs) ElementType

func (SyncGhDestinationArgs) ElementType() reflect.Type

type SyncGhDestinationArray

type SyncGhDestinationArray []SyncGhDestinationInput

func (SyncGhDestinationArray) ElementType

func (SyncGhDestinationArray) ElementType() reflect.Type

func (SyncGhDestinationArray) ToSyncGhDestinationArrayOutput

func (i SyncGhDestinationArray) ToSyncGhDestinationArrayOutput() SyncGhDestinationArrayOutput

func (SyncGhDestinationArray) ToSyncGhDestinationArrayOutputWithContext

func (i SyncGhDestinationArray) ToSyncGhDestinationArrayOutputWithContext(ctx context.Context) SyncGhDestinationArrayOutput

type SyncGhDestinationArrayInput

type SyncGhDestinationArrayInput interface {
	pulumi.Input

	ToSyncGhDestinationArrayOutput() SyncGhDestinationArrayOutput
	ToSyncGhDestinationArrayOutputWithContext(context.Context) SyncGhDestinationArrayOutput
}

SyncGhDestinationArrayInput is an input type that accepts SyncGhDestinationArray and SyncGhDestinationArrayOutput values. You can construct a concrete instance of `SyncGhDestinationArrayInput` via:

SyncGhDestinationArray{ SyncGhDestinationArgs{...} }

type SyncGhDestinationArrayOutput

type SyncGhDestinationArrayOutput struct{ *pulumi.OutputState }

func (SyncGhDestinationArrayOutput) ElementType

func (SyncGhDestinationArrayOutput) Index

func (SyncGhDestinationArrayOutput) ToSyncGhDestinationArrayOutput

func (o SyncGhDestinationArrayOutput) ToSyncGhDestinationArrayOutput() SyncGhDestinationArrayOutput

func (SyncGhDestinationArrayOutput) ToSyncGhDestinationArrayOutputWithContext

func (o SyncGhDestinationArrayOutput) ToSyncGhDestinationArrayOutputWithContext(ctx context.Context) SyncGhDestinationArrayOutput

type SyncGhDestinationInput

type SyncGhDestinationInput interface {
	pulumi.Input

	ToSyncGhDestinationOutput() SyncGhDestinationOutput
	ToSyncGhDestinationOutputWithContext(ctx context.Context) SyncGhDestinationOutput
}

type SyncGhDestinationMap

type SyncGhDestinationMap map[string]SyncGhDestinationInput

func (SyncGhDestinationMap) ElementType

func (SyncGhDestinationMap) ElementType() reflect.Type

func (SyncGhDestinationMap) ToSyncGhDestinationMapOutput

func (i SyncGhDestinationMap) ToSyncGhDestinationMapOutput() SyncGhDestinationMapOutput

func (SyncGhDestinationMap) ToSyncGhDestinationMapOutputWithContext

func (i SyncGhDestinationMap) ToSyncGhDestinationMapOutputWithContext(ctx context.Context) SyncGhDestinationMapOutput

type SyncGhDestinationMapInput

type SyncGhDestinationMapInput interface {
	pulumi.Input

	ToSyncGhDestinationMapOutput() SyncGhDestinationMapOutput
	ToSyncGhDestinationMapOutputWithContext(context.Context) SyncGhDestinationMapOutput
}

SyncGhDestinationMapInput is an input type that accepts SyncGhDestinationMap and SyncGhDestinationMapOutput values. You can construct a concrete instance of `SyncGhDestinationMapInput` via:

SyncGhDestinationMap{ "key": SyncGhDestinationArgs{...} }

type SyncGhDestinationMapOutput

type SyncGhDestinationMapOutput struct{ *pulumi.OutputState }

func (SyncGhDestinationMapOutput) ElementType

func (SyncGhDestinationMapOutput) ElementType() reflect.Type

func (SyncGhDestinationMapOutput) MapIndex

func (SyncGhDestinationMapOutput) ToSyncGhDestinationMapOutput

func (o SyncGhDestinationMapOutput) ToSyncGhDestinationMapOutput() SyncGhDestinationMapOutput

func (SyncGhDestinationMapOutput) ToSyncGhDestinationMapOutputWithContext

func (o SyncGhDestinationMapOutput) ToSyncGhDestinationMapOutputWithContext(ctx context.Context) SyncGhDestinationMapOutput

type SyncGhDestinationOutput

type SyncGhDestinationOutput struct{ *pulumi.OutputState }

func (SyncGhDestinationOutput) AccessToken

Fine-grained or personal access token. Can be omitted and directly provided to Vault using the `GITHUB_ACCESS_TOKEN` environment variable.

func (SyncGhDestinationOutput) AppName

The user-defined name of the GitHub App configuration. This is a reference to the name used\ on the new endpoint when configuring the GitHub app on the Vault Server. Can be modified. Takes precedence over the `accessToken` field.

func (SyncGhDestinationOutput) ElementType

func (SyncGhDestinationOutput) ElementType() reflect.Type

func (SyncGhDestinationOutput) Granularity added in v6.1.0

Determines what level of information is synced as a distinct resource at the destination. Supports `secret-path` and `secret-key`.

func (SyncGhDestinationOutput) InstallationId

func (o SyncGhDestinationOutput) InstallationId() pulumi.IntPtrOutput

The ID of the installation generated by GitHub when the app referenced by the `appName` was installed in the user’s GitHub account. Can be modified. Necessary if the `appName` field is also provided.

func (SyncGhDestinationOutput) Name

Unique name of the GitHub destination.

func (SyncGhDestinationOutput) Namespace

The namespace to provision the resource in. The value should not contain leading or trailing forward slashes. The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).

func (SyncGhDestinationOutput) RepositoryName

func (o SyncGhDestinationOutput) RepositoryName() pulumi.StringPtrOutput

Name of the repository. Can be omitted and directly provided to Vault using the `GITHUB_REPOSITORY_NAME` environment variable.

func (SyncGhDestinationOutput) RepositoryOwner

func (o SyncGhDestinationOutput) RepositoryOwner() pulumi.StringPtrOutput

GitHub organization or username that owns the repository. Can be omitted and directly provided to Vault using the `GITHUB_REPOSITORY_OWNER` environment variable.

func (SyncGhDestinationOutput) SecretNameTemplate

func (o SyncGhDestinationOutput) SecretNameTemplate() pulumi.StringOutput

Template describing how to generate external secret names. Supports a subset of the Go Template syntax.

func (SyncGhDestinationOutput) ToSyncGhDestinationOutput

func (o SyncGhDestinationOutput) ToSyncGhDestinationOutput() SyncGhDestinationOutput

func (SyncGhDestinationOutput) ToSyncGhDestinationOutputWithContext

func (o SyncGhDestinationOutput) ToSyncGhDestinationOutputWithContext(ctx context.Context) SyncGhDestinationOutput

func (SyncGhDestinationOutput) Type

The type of the secrets destination (`gh`).

type SyncGhDestinationState

type SyncGhDestinationState struct {
	// Fine-grained or personal access token.
	// Can be omitted and directly provided to Vault using the `GITHUB_ACCESS_TOKEN` environment
	// variable.
	AccessToken pulumi.StringPtrInput
	// The user-defined name of the GitHub App configuration. This is a reference to the name used\
	// on the new endpoint when configuring the GitHub app on the Vault Server. Can be modified.
	// Takes precedence over the `accessToken` field.
	AppName pulumi.StringPtrInput
	// Determines what level of information is synced as a distinct resource
	// at the destination. Supports `secret-path` and `secret-key`.
	Granularity pulumi.StringPtrInput
	// The ID of the installation generated by GitHub when the app referenced by the `appName`
	// was installed in the user’s GitHub account. Can be modified. Necessary if the `appName` field is also provided.
	InstallationId pulumi.IntPtrInput
	// Unique name of the GitHub destination.
	Name pulumi.StringPtrInput
	// The namespace to provision the resource in.
	// The value should not contain leading or trailing forward slashes.
	// The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
	Namespace pulumi.StringPtrInput
	// Name of the repository.
	// Can be omitted and directly provided to Vault using the `GITHUB_REPOSITORY_NAME` environment
	// variable.
	RepositoryName pulumi.StringPtrInput
	// GitHub organization or username that owns the repository.
	// Can be omitted and directly provided to Vault using the `GITHUB_REPOSITORY_OWNER` environment
	// variable.
	RepositoryOwner pulumi.StringPtrInput
	// Template describing how to generate external secret names.
	// Supports a subset of the Go Template syntax.
	SecretNameTemplate pulumi.StringPtrInput
	// The type of the secrets destination (`gh`).
	Type pulumi.StringPtrInput
}

func (SyncGhDestinationState) ElementType

func (SyncGhDestinationState) ElementType() reflect.Type

type SyncGithubApps

type SyncGithubApps struct {
	pulumi.CustomResourceState

	// The GitHub application ID.
	AppId pulumi.IntOutput `pulumi:"appId"`
	// A fingerprint of a private key.
	Fingerprint pulumi.StringOutput `pulumi:"fingerprint"`
	// The user-defined name of the GitHub App configuration.
	Name pulumi.StringOutput `pulumi:"name"`
	// The namespace to provision the resource in.
	// The value should not contain leading or trailing forward slashes.
	// The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
	Namespace pulumi.StringPtrOutput `pulumi:"namespace"`
	// The content of a PEM formatted private key generated on GitHub for the app.
	PrivateKey pulumi.StringOutput `pulumi:"privateKey"`
}

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-std/sdk/go/std"
"github.com/pulumi/pulumi-vault/sdk/v6/go/vault/secrets"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		invokeFile, err := std.File(ctx, &std.FileArgs{
			Input: privatekeyFile,
		}, nil)
		if err != nil {
			return err
		}
		_, err = secrets.NewSyncGithubApps(ctx, "github-apps", &secrets.SyncGithubAppsArgs{
			Name:       pulumi.String("gh-apps"),
			AppId:      pulumi.Any(appId),
			PrivateKey: pulumi.String(invokeFile.Result),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

GitHub Apps Secrets sync configuration endpoint can be imported using the `name`, e.g.

```sh $ pulumi import vault:secrets/syncGithubApps:SyncGithubApps gh github-apps ```

func GetSyncGithubApps

func GetSyncGithubApps(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *SyncGithubAppsState, opts ...pulumi.ResourceOption) (*SyncGithubApps, error)

GetSyncGithubApps gets an existing SyncGithubApps 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 NewSyncGithubApps

func NewSyncGithubApps(ctx *pulumi.Context,
	name string, args *SyncGithubAppsArgs, opts ...pulumi.ResourceOption) (*SyncGithubApps, error)

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

func (*SyncGithubApps) ElementType

func (*SyncGithubApps) ElementType() reflect.Type

func (*SyncGithubApps) ToSyncGithubAppsOutput

func (i *SyncGithubApps) ToSyncGithubAppsOutput() SyncGithubAppsOutput

func (*SyncGithubApps) ToSyncGithubAppsOutputWithContext

func (i *SyncGithubApps) ToSyncGithubAppsOutputWithContext(ctx context.Context) SyncGithubAppsOutput

type SyncGithubAppsArgs

type SyncGithubAppsArgs struct {
	// The GitHub application ID.
	AppId pulumi.IntInput
	// The user-defined name of the GitHub App configuration.
	Name pulumi.StringPtrInput
	// The namespace to provision the resource in.
	// The value should not contain leading or trailing forward slashes.
	// The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
	Namespace pulumi.StringPtrInput
	// The content of a PEM formatted private key generated on GitHub for the app.
	PrivateKey pulumi.StringInput
}

The set of arguments for constructing a SyncGithubApps resource.

func (SyncGithubAppsArgs) ElementType

func (SyncGithubAppsArgs) ElementType() reflect.Type

type SyncGithubAppsArray

type SyncGithubAppsArray []SyncGithubAppsInput

func (SyncGithubAppsArray) ElementType

func (SyncGithubAppsArray) ElementType() reflect.Type

func (SyncGithubAppsArray) ToSyncGithubAppsArrayOutput

func (i SyncGithubAppsArray) ToSyncGithubAppsArrayOutput() SyncGithubAppsArrayOutput

func (SyncGithubAppsArray) ToSyncGithubAppsArrayOutputWithContext

func (i SyncGithubAppsArray) ToSyncGithubAppsArrayOutputWithContext(ctx context.Context) SyncGithubAppsArrayOutput

type SyncGithubAppsArrayInput

type SyncGithubAppsArrayInput interface {
	pulumi.Input

	ToSyncGithubAppsArrayOutput() SyncGithubAppsArrayOutput
	ToSyncGithubAppsArrayOutputWithContext(context.Context) SyncGithubAppsArrayOutput
}

SyncGithubAppsArrayInput is an input type that accepts SyncGithubAppsArray and SyncGithubAppsArrayOutput values. You can construct a concrete instance of `SyncGithubAppsArrayInput` via:

SyncGithubAppsArray{ SyncGithubAppsArgs{...} }

type SyncGithubAppsArrayOutput

type SyncGithubAppsArrayOutput struct{ *pulumi.OutputState }

func (SyncGithubAppsArrayOutput) ElementType

func (SyncGithubAppsArrayOutput) ElementType() reflect.Type

func (SyncGithubAppsArrayOutput) Index

func (SyncGithubAppsArrayOutput) ToSyncGithubAppsArrayOutput

func (o SyncGithubAppsArrayOutput) ToSyncGithubAppsArrayOutput() SyncGithubAppsArrayOutput

func (SyncGithubAppsArrayOutput) ToSyncGithubAppsArrayOutputWithContext

func (o SyncGithubAppsArrayOutput) ToSyncGithubAppsArrayOutputWithContext(ctx context.Context) SyncGithubAppsArrayOutput

type SyncGithubAppsInput

type SyncGithubAppsInput interface {
	pulumi.Input

	ToSyncGithubAppsOutput() SyncGithubAppsOutput
	ToSyncGithubAppsOutputWithContext(ctx context.Context) SyncGithubAppsOutput
}

type SyncGithubAppsMap

type SyncGithubAppsMap map[string]SyncGithubAppsInput

func (SyncGithubAppsMap) ElementType

func (SyncGithubAppsMap) ElementType() reflect.Type

func (SyncGithubAppsMap) ToSyncGithubAppsMapOutput

func (i SyncGithubAppsMap) ToSyncGithubAppsMapOutput() SyncGithubAppsMapOutput

func (SyncGithubAppsMap) ToSyncGithubAppsMapOutputWithContext

func (i SyncGithubAppsMap) ToSyncGithubAppsMapOutputWithContext(ctx context.Context) SyncGithubAppsMapOutput

type SyncGithubAppsMapInput

type SyncGithubAppsMapInput interface {
	pulumi.Input

	ToSyncGithubAppsMapOutput() SyncGithubAppsMapOutput
	ToSyncGithubAppsMapOutputWithContext(context.Context) SyncGithubAppsMapOutput
}

SyncGithubAppsMapInput is an input type that accepts SyncGithubAppsMap and SyncGithubAppsMapOutput values. You can construct a concrete instance of `SyncGithubAppsMapInput` via:

SyncGithubAppsMap{ "key": SyncGithubAppsArgs{...} }

type SyncGithubAppsMapOutput

type SyncGithubAppsMapOutput struct{ *pulumi.OutputState }

func (SyncGithubAppsMapOutput) ElementType

func (SyncGithubAppsMapOutput) ElementType() reflect.Type

func (SyncGithubAppsMapOutput) MapIndex

func (SyncGithubAppsMapOutput) ToSyncGithubAppsMapOutput

func (o SyncGithubAppsMapOutput) ToSyncGithubAppsMapOutput() SyncGithubAppsMapOutput

func (SyncGithubAppsMapOutput) ToSyncGithubAppsMapOutputWithContext

func (o SyncGithubAppsMapOutput) ToSyncGithubAppsMapOutputWithContext(ctx context.Context) SyncGithubAppsMapOutput

type SyncGithubAppsOutput

type SyncGithubAppsOutput struct{ *pulumi.OutputState }

func (SyncGithubAppsOutput) AppId

The GitHub application ID.

func (SyncGithubAppsOutput) ElementType

func (SyncGithubAppsOutput) ElementType() reflect.Type

func (SyncGithubAppsOutput) Fingerprint

func (o SyncGithubAppsOutput) Fingerprint() pulumi.StringOutput

A fingerprint of a private key.

func (SyncGithubAppsOutput) Name

The user-defined name of the GitHub App configuration.

func (SyncGithubAppsOutput) Namespace

The namespace to provision the resource in. The value should not contain leading or trailing forward slashes. The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).

func (SyncGithubAppsOutput) PrivateKey

func (o SyncGithubAppsOutput) PrivateKey() pulumi.StringOutput

The content of a PEM formatted private key generated on GitHub for the app.

func (SyncGithubAppsOutput) ToSyncGithubAppsOutput

func (o SyncGithubAppsOutput) ToSyncGithubAppsOutput() SyncGithubAppsOutput

func (SyncGithubAppsOutput) ToSyncGithubAppsOutputWithContext

func (o SyncGithubAppsOutput) ToSyncGithubAppsOutputWithContext(ctx context.Context) SyncGithubAppsOutput

type SyncGithubAppsState

type SyncGithubAppsState struct {
	// The GitHub application ID.
	AppId pulumi.IntPtrInput
	// A fingerprint of a private key.
	Fingerprint pulumi.StringPtrInput
	// The user-defined name of the GitHub App configuration.
	Name pulumi.StringPtrInput
	// The namespace to provision the resource in.
	// The value should not contain leading or trailing forward slashes.
	// The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
	Namespace pulumi.StringPtrInput
	// The content of a PEM formatted private key generated on GitHub for the app.
	PrivateKey pulumi.StringPtrInput
}

func (SyncGithubAppsState) ElementType

func (SyncGithubAppsState) ElementType() reflect.Type

type SyncVercelDestination

type SyncVercelDestination struct {
	pulumi.CustomResourceState

	// Vercel API access token with the permissions to manage environment
	// variables.
	AccessToken pulumi.StringOutput `pulumi:"accessToken"`
	// Deployment environments where the environment variables
	// are available. Accepts `development`, `preview` and `production`.
	DeploymentEnvironments pulumi.StringArrayOutput `pulumi:"deploymentEnvironments"`
	// Determines what level of information is synced as a distinct resource
	// at the destination. Supports `secret-path` and `secret-key`.
	Granularity pulumi.StringPtrOutput `pulumi:"granularity"`
	// Unique name of the GitHub destination.
	Name pulumi.StringOutput `pulumi:"name"`
	// The namespace to provision the resource in.
	// The value should not contain leading or trailing forward slashes.
	// The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
	Namespace pulumi.StringPtrOutput `pulumi:"namespace"`
	// Project ID where to manage environment variables.
	ProjectId pulumi.StringOutput `pulumi:"projectId"`
	// Template describing how to generate external secret names.
	// Supports a subset of the Go Template syntax.
	SecretNameTemplate pulumi.StringOutput `pulumi:"secretNameTemplate"`
	// Team ID where to manage environment variables.
	TeamId pulumi.StringPtrOutput `pulumi:"teamId"`
	// The type of the secrets destination (`vercel-project`).
	Type pulumi.StringOutput `pulumi:"type"`
}

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-vault/sdk/v6/go/vault/secrets"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := secrets.NewSyncVercelDestination(ctx, "vercel", &secrets.SyncVercelDestinationArgs{
			Name:        pulumi.String("vercel-dest"),
			AccessToken: pulumi.Any(accessToken),
			ProjectId:   pulumi.Any(projectId),
			DeploymentEnvironments: pulumi.StringArray{
				pulumi.String("development"),
				pulumi.String("preview"),
				pulumi.String("production"),
			},
			SecretNameTemplate: pulumi.String("vault_{{ .MountAccessor | lowercase }}_{{ .SecretPath | lowercase }}"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

GitHub Secrets sync destinations can be imported using the `name`, e.g.

```sh $ pulumi import vault:secrets/syncVercelDestination:SyncVercelDestination vercel vercel-dest ```

func GetSyncVercelDestination

func GetSyncVercelDestination(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *SyncVercelDestinationState, opts ...pulumi.ResourceOption) (*SyncVercelDestination, error)

GetSyncVercelDestination gets an existing SyncVercelDestination 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 NewSyncVercelDestination

func NewSyncVercelDestination(ctx *pulumi.Context,
	name string, args *SyncVercelDestinationArgs, opts ...pulumi.ResourceOption) (*SyncVercelDestination, error)

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

func (*SyncVercelDestination) ElementType

func (*SyncVercelDestination) ElementType() reflect.Type

func (*SyncVercelDestination) ToSyncVercelDestinationOutput

func (i *SyncVercelDestination) ToSyncVercelDestinationOutput() SyncVercelDestinationOutput

func (*SyncVercelDestination) ToSyncVercelDestinationOutputWithContext

func (i *SyncVercelDestination) ToSyncVercelDestinationOutputWithContext(ctx context.Context) SyncVercelDestinationOutput

type SyncVercelDestinationArgs

type SyncVercelDestinationArgs struct {
	// Vercel API access token with the permissions to manage environment
	// variables.
	AccessToken pulumi.StringInput
	// Deployment environments where the environment variables
	// are available. Accepts `development`, `preview` and `production`.
	DeploymentEnvironments pulumi.StringArrayInput
	// Determines what level of information is synced as a distinct resource
	// at the destination. Supports `secret-path` and `secret-key`.
	Granularity pulumi.StringPtrInput
	// Unique name of the GitHub destination.
	Name pulumi.StringPtrInput
	// The namespace to provision the resource in.
	// The value should not contain leading or trailing forward slashes.
	// The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
	Namespace pulumi.StringPtrInput
	// Project ID where to manage environment variables.
	ProjectId pulumi.StringInput
	// Template describing how to generate external secret names.
	// Supports a subset of the Go Template syntax.
	SecretNameTemplate pulumi.StringPtrInput
	// Team ID where to manage environment variables.
	TeamId pulumi.StringPtrInput
}

The set of arguments for constructing a SyncVercelDestination resource.

func (SyncVercelDestinationArgs) ElementType

func (SyncVercelDestinationArgs) ElementType() reflect.Type

type SyncVercelDestinationArray

type SyncVercelDestinationArray []SyncVercelDestinationInput

func (SyncVercelDestinationArray) ElementType

func (SyncVercelDestinationArray) ElementType() reflect.Type

func (SyncVercelDestinationArray) ToSyncVercelDestinationArrayOutput

func (i SyncVercelDestinationArray) ToSyncVercelDestinationArrayOutput() SyncVercelDestinationArrayOutput

func (SyncVercelDestinationArray) ToSyncVercelDestinationArrayOutputWithContext

func (i SyncVercelDestinationArray) ToSyncVercelDestinationArrayOutputWithContext(ctx context.Context) SyncVercelDestinationArrayOutput

type SyncVercelDestinationArrayInput

type SyncVercelDestinationArrayInput interface {
	pulumi.Input

	ToSyncVercelDestinationArrayOutput() SyncVercelDestinationArrayOutput
	ToSyncVercelDestinationArrayOutputWithContext(context.Context) SyncVercelDestinationArrayOutput
}

SyncVercelDestinationArrayInput is an input type that accepts SyncVercelDestinationArray and SyncVercelDestinationArrayOutput values. You can construct a concrete instance of `SyncVercelDestinationArrayInput` via:

SyncVercelDestinationArray{ SyncVercelDestinationArgs{...} }

type SyncVercelDestinationArrayOutput

type SyncVercelDestinationArrayOutput struct{ *pulumi.OutputState }

func (SyncVercelDestinationArrayOutput) ElementType

func (SyncVercelDestinationArrayOutput) Index

func (SyncVercelDestinationArrayOutput) ToSyncVercelDestinationArrayOutput

func (o SyncVercelDestinationArrayOutput) ToSyncVercelDestinationArrayOutput() SyncVercelDestinationArrayOutput

func (SyncVercelDestinationArrayOutput) ToSyncVercelDestinationArrayOutputWithContext

func (o SyncVercelDestinationArrayOutput) ToSyncVercelDestinationArrayOutputWithContext(ctx context.Context) SyncVercelDestinationArrayOutput

type SyncVercelDestinationInput

type SyncVercelDestinationInput interface {
	pulumi.Input

	ToSyncVercelDestinationOutput() SyncVercelDestinationOutput
	ToSyncVercelDestinationOutputWithContext(ctx context.Context) SyncVercelDestinationOutput
}

type SyncVercelDestinationMap

type SyncVercelDestinationMap map[string]SyncVercelDestinationInput

func (SyncVercelDestinationMap) ElementType

func (SyncVercelDestinationMap) ElementType() reflect.Type

func (SyncVercelDestinationMap) ToSyncVercelDestinationMapOutput

func (i SyncVercelDestinationMap) ToSyncVercelDestinationMapOutput() SyncVercelDestinationMapOutput

func (SyncVercelDestinationMap) ToSyncVercelDestinationMapOutputWithContext

func (i SyncVercelDestinationMap) ToSyncVercelDestinationMapOutputWithContext(ctx context.Context) SyncVercelDestinationMapOutput

type SyncVercelDestinationMapInput

type SyncVercelDestinationMapInput interface {
	pulumi.Input

	ToSyncVercelDestinationMapOutput() SyncVercelDestinationMapOutput
	ToSyncVercelDestinationMapOutputWithContext(context.Context) SyncVercelDestinationMapOutput
}

SyncVercelDestinationMapInput is an input type that accepts SyncVercelDestinationMap and SyncVercelDestinationMapOutput values. You can construct a concrete instance of `SyncVercelDestinationMapInput` via:

SyncVercelDestinationMap{ "key": SyncVercelDestinationArgs{...} }

type SyncVercelDestinationMapOutput

type SyncVercelDestinationMapOutput struct{ *pulumi.OutputState }

func (SyncVercelDestinationMapOutput) ElementType

func (SyncVercelDestinationMapOutput) MapIndex

func (SyncVercelDestinationMapOutput) ToSyncVercelDestinationMapOutput

func (o SyncVercelDestinationMapOutput) ToSyncVercelDestinationMapOutput() SyncVercelDestinationMapOutput

func (SyncVercelDestinationMapOutput) ToSyncVercelDestinationMapOutputWithContext

func (o SyncVercelDestinationMapOutput) ToSyncVercelDestinationMapOutputWithContext(ctx context.Context) SyncVercelDestinationMapOutput

type SyncVercelDestinationOutput

type SyncVercelDestinationOutput struct{ *pulumi.OutputState }

func (SyncVercelDestinationOutput) AccessToken

Vercel API access token with the permissions to manage environment variables.

func (SyncVercelDestinationOutput) DeploymentEnvironments

func (o SyncVercelDestinationOutput) DeploymentEnvironments() pulumi.StringArrayOutput

Deployment environments where the environment variables are available. Accepts `development`, `preview` and `production`.

func (SyncVercelDestinationOutput) ElementType

func (SyncVercelDestinationOutput) Granularity added in v6.1.0

Determines what level of information is synced as a distinct resource at the destination. Supports `secret-path` and `secret-key`.

func (SyncVercelDestinationOutput) Name

Unique name of the GitHub destination.

func (SyncVercelDestinationOutput) Namespace

The namespace to provision the resource in. The value should not contain leading or trailing forward slashes. The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).

func (SyncVercelDestinationOutput) ProjectId

Project ID where to manage environment variables.

func (SyncVercelDestinationOutput) SecretNameTemplate

func (o SyncVercelDestinationOutput) SecretNameTemplate() pulumi.StringOutput

Template describing how to generate external secret names. Supports a subset of the Go Template syntax.

func (SyncVercelDestinationOutput) TeamId

Team ID where to manage environment variables.

func (SyncVercelDestinationOutput) ToSyncVercelDestinationOutput

func (o SyncVercelDestinationOutput) ToSyncVercelDestinationOutput() SyncVercelDestinationOutput

func (SyncVercelDestinationOutput) ToSyncVercelDestinationOutputWithContext

func (o SyncVercelDestinationOutput) ToSyncVercelDestinationOutputWithContext(ctx context.Context) SyncVercelDestinationOutput

func (SyncVercelDestinationOutput) Type

The type of the secrets destination (`vercel-project`).

type SyncVercelDestinationState

type SyncVercelDestinationState struct {
	// Vercel API access token with the permissions to manage environment
	// variables.
	AccessToken pulumi.StringPtrInput
	// Deployment environments where the environment variables
	// are available. Accepts `development`, `preview` and `production`.
	DeploymentEnvironments pulumi.StringArrayInput
	// Determines what level of information is synced as a distinct resource
	// at the destination. Supports `secret-path` and `secret-key`.
	Granularity pulumi.StringPtrInput
	// Unique name of the GitHub destination.
	Name pulumi.StringPtrInput
	// The namespace to provision the resource in.
	// The value should not contain leading or trailing forward slashes.
	// The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
	Namespace pulumi.StringPtrInput
	// Project ID where to manage environment variables.
	ProjectId pulumi.StringPtrInput
	// Template describing how to generate external secret names.
	// Supports a subset of the Go Template syntax.
	SecretNameTemplate pulumi.StringPtrInput
	// Team ID where to manage environment variables.
	TeamId pulumi.StringPtrInput
	// The type of the secrets destination (`vercel-project`).
	Type pulumi.StringPtrInput
}

func (SyncVercelDestinationState) ElementType

func (SyncVercelDestinationState) ElementType() reflect.Type

Jump to

Keyboard shortcuts

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