hcp

package
v0.1.14 Latest Latest
Warning

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

Go to latest
Published: Dec 2, 2022 License: Apache-2.0 Imports: 10 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func PkgVersion

func PkgVersion() (semver.Version, error)

PkgVersion uses reflection to determine the version of the current package. If a version cannot be determined, v1 will be assumed. The second return value is always nil.

Types

type AwsNetworkPeering

type AwsNetworkPeering struct {
	pulumi.CustomResourceState

	// The time that the network peering was created.
	CreatedAt pulumi.StringOutput `pulumi:"createdAt"`
	// The time after which the network peering will be considered expired if it hasn't transitioned into `ACCEPTED` or `ACTIVE` state.
	ExpiresAt pulumi.StringOutput `pulumi:"expiresAt"`
	// The ID of the HashiCorp Virtual Network (HVN).
	HvnId pulumi.StringOutput `pulumi:"hvnId"`
	// The ID of the HCP organization where the network peering is located. Always matches the HVN's organization.
	OrganizationId pulumi.StringOutput `pulumi:"organizationId"`
	// The account ID of the peer VPC in AWS.
	PeerAccountId pulumi.StringOutput `pulumi:"peerAccountId"`
	// The ID of the peer VPC in AWS.
	PeerVpcId pulumi.StringOutput `pulumi:"peerVpcId"`
	// The region of the peer VPC in AWS.
	PeerVpcRegion pulumi.StringOutput `pulumi:"peerVpcRegion"`
	// The ID of the network peering.
	PeeringId pulumi.StringOutput `pulumi:"peeringId"`
	// The ID of the HCP project where the network peering is located. Always matches the HVN's project.
	ProjectId pulumi.StringOutput `pulumi:"projectId"`
	// The peering connection ID used by AWS.
	ProviderPeeringId pulumi.StringOutput `pulumi:"providerPeeringId"`
	// A unique URL identifying the network peering.
	SelfLink pulumi.StringOutput `pulumi:"selfLink"`
	// The state of the network peering.
	State pulumi.StringOutput `pulumi:"state"`
}

The AWS network peering resource allows you to manage a network peering between an HVN and a peer AWS VPC.

## Example Usage

```go package main

import (

"github.com/grapl-security/pulumi-hcp/sdk/go/hcp"
"github.com/pulumi/pulumi-aws/sdk/v5/go/aws"
"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/ec2"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		main, err := hcp.NewHvn(ctx, "main", &hcp.HvnArgs{
			HvnId:         pulumi.String("main-hvn"),
			CloudProvider: pulumi.String("aws"),
			Region:        pulumi.String("us-west-2"),
			CidrBlock:     pulumi.String("172.25.16.0/20"),
		})
		if err != nil {
			return err
		}
		peerVpc, err := ec2.NewVpc(ctx, "peerVpc", &ec2.VpcArgs{
			CidrBlock: pulumi.String("172.31.0.0/16"),
		})
		if err != nil {
			return err
		}
		peerArn := aws.GetArnOutput(ctx, GetArnOutputArgs{
			Arn: peerVpc.Arn,
		}, nil)
		dev, err := hcp.NewAwsNetworkPeering(ctx, "dev", &hcp.AwsNetworkPeeringArgs{
			HvnId:         main.HvnId,
			PeeringId:     pulumi.String("dev"),
			PeerVpcId:     peerVpc.ID(),
			PeerAccountId: peerVpc.OwnerId,
			PeerVpcRegion: peerArn.ApplyT(func(peerArn GetArnResult) (string, error) {
				return peerArn.Region, nil
			}).(pulumi.StringOutput),
		})
		if err != nil {
			return err
		}
		_, err = hcp.NewHvnRoute(ctx, "main-to-dev", &hcp.HvnRouteArgs{
			HvnLink:         main.SelfLink,
			HvnRouteId:      pulumi.String("main-to-dev"),
			DestinationCidr: pulumi.String("172.31.0.0/16"),
			TargetLink:      dev.SelfLink,
		})
		if err != nil {
			return err
		}
		_, err = ec2.NewVpcPeeringConnectionAccepter(ctx, "peerVpcPeeringConnectionAccepter", &ec2.VpcPeeringConnectionAccepterArgs{
			VpcPeeringConnectionId: dev.ProviderPeeringId,
			AutoAccept:             pulumi.Bool(true),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

The import ID is {hvn_id}:{peering_id}

```sh

$ pulumi import hcp:index/awsNetworkPeering:AwsNetworkPeering peer main-hvn:11eb60b3-d4ec-5eed-aacc-0242ac120015

```

func GetAwsNetworkPeering

func GetAwsNetworkPeering(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *AwsNetworkPeeringState, opts ...pulumi.ResourceOption) (*AwsNetworkPeering, error)

GetAwsNetworkPeering gets an existing AwsNetworkPeering 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 NewAwsNetworkPeering

func NewAwsNetworkPeering(ctx *pulumi.Context,
	name string, args *AwsNetworkPeeringArgs, opts ...pulumi.ResourceOption) (*AwsNetworkPeering, error)

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

func (*AwsNetworkPeering) ElementType

func (*AwsNetworkPeering) ElementType() reflect.Type

func (*AwsNetworkPeering) ToAwsNetworkPeeringOutput

func (i *AwsNetworkPeering) ToAwsNetworkPeeringOutput() AwsNetworkPeeringOutput

func (*AwsNetworkPeering) ToAwsNetworkPeeringOutputWithContext

func (i *AwsNetworkPeering) ToAwsNetworkPeeringOutputWithContext(ctx context.Context) AwsNetworkPeeringOutput

type AwsNetworkPeeringArgs

type AwsNetworkPeeringArgs struct {
	// The ID of the HashiCorp Virtual Network (HVN).
	HvnId pulumi.StringInput
	// The account ID of the peer VPC in AWS.
	PeerAccountId pulumi.StringInput
	// The ID of the peer VPC in AWS.
	PeerVpcId pulumi.StringInput
	// The region of the peer VPC in AWS.
	PeerVpcRegion pulumi.StringInput
	// The ID of the network peering.
	PeeringId pulumi.StringInput
}

The set of arguments for constructing a AwsNetworkPeering resource.

func (AwsNetworkPeeringArgs) ElementType

func (AwsNetworkPeeringArgs) ElementType() reflect.Type

type AwsNetworkPeeringArray

type AwsNetworkPeeringArray []AwsNetworkPeeringInput

func (AwsNetworkPeeringArray) ElementType

func (AwsNetworkPeeringArray) ElementType() reflect.Type

func (AwsNetworkPeeringArray) ToAwsNetworkPeeringArrayOutput

func (i AwsNetworkPeeringArray) ToAwsNetworkPeeringArrayOutput() AwsNetworkPeeringArrayOutput

func (AwsNetworkPeeringArray) ToAwsNetworkPeeringArrayOutputWithContext

func (i AwsNetworkPeeringArray) ToAwsNetworkPeeringArrayOutputWithContext(ctx context.Context) AwsNetworkPeeringArrayOutput

type AwsNetworkPeeringArrayInput

type AwsNetworkPeeringArrayInput interface {
	pulumi.Input

	ToAwsNetworkPeeringArrayOutput() AwsNetworkPeeringArrayOutput
	ToAwsNetworkPeeringArrayOutputWithContext(context.Context) AwsNetworkPeeringArrayOutput
}

AwsNetworkPeeringArrayInput is an input type that accepts AwsNetworkPeeringArray and AwsNetworkPeeringArrayOutput values. You can construct a concrete instance of `AwsNetworkPeeringArrayInput` via:

AwsNetworkPeeringArray{ AwsNetworkPeeringArgs{...} }

type AwsNetworkPeeringArrayOutput

type AwsNetworkPeeringArrayOutput struct{ *pulumi.OutputState }

func (AwsNetworkPeeringArrayOutput) ElementType

func (AwsNetworkPeeringArrayOutput) Index

func (AwsNetworkPeeringArrayOutput) ToAwsNetworkPeeringArrayOutput

func (o AwsNetworkPeeringArrayOutput) ToAwsNetworkPeeringArrayOutput() AwsNetworkPeeringArrayOutput

func (AwsNetworkPeeringArrayOutput) ToAwsNetworkPeeringArrayOutputWithContext

func (o AwsNetworkPeeringArrayOutput) ToAwsNetworkPeeringArrayOutputWithContext(ctx context.Context) AwsNetworkPeeringArrayOutput

type AwsNetworkPeeringInput

type AwsNetworkPeeringInput interface {
	pulumi.Input

	ToAwsNetworkPeeringOutput() AwsNetworkPeeringOutput
	ToAwsNetworkPeeringOutputWithContext(ctx context.Context) AwsNetworkPeeringOutput
}

type AwsNetworkPeeringMap

type AwsNetworkPeeringMap map[string]AwsNetworkPeeringInput

func (AwsNetworkPeeringMap) ElementType

func (AwsNetworkPeeringMap) ElementType() reflect.Type

func (AwsNetworkPeeringMap) ToAwsNetworkPeeringMapOutput

func (i AwsNetworkPeeringMap) ToAwsNetworkPeeringMapOutput() AwsNetworkPeeringMapOutput

func (AwsNetworkPeeringMap) ToAwsNetworkPeeringMapOutputWithContext

func (i AwsNetworkPeeringMap) ToAwsNetworkPeeringMapOutputWithContext(ctx context.Context) AwsNetworkPeeringMapOutput

type AwsNetworkPeeringMapInput

type AwsNetworkPeeringMapInput interface {
	pulumi.Input

	ToAwsNetworkPeeringMapOutput() AwsNetworkPeeringMapOutput
	ToAwsNetworkPeeringMapOutputWithContext(context.Context) AwsNetworkPeeringMapOutput
}

AwsNetworkPeeringMapInput is an input type that accepts AwsNetworkPeeringMap and AwsNetworkPeeringMapOutput values. You can construct a concrete instance of `AwsNetworkPeeringMapInput` via:

AwsNetworkPeeringMap{ "key": AwsNetworkPeeringArgs{...} }

type AwsNetworkPeeringMapOutput

type AwsNetworkPeeringMapOutput struct{ *pulumi.OutputState }

func (AwsNetworkPeeringMapOutput) ElementType

func (AwsNetworkPeeringMapOutput) ElementType() reflect.Type

func (AwsNetworkPeeringMapOutput) MapIndex

func (AwsNetworkPeeringMapOutput) ToAwsNetworkPeeringMapOutput

func (o AwsNetworkPeeringMapOutput) ToAwsNetworkPeeringMapOutput() AwsNetworkPeeringMapOutput

func (AwsNetworkPeeringMapOutput) ToAwsNetworkPeeringMapOutputWithContext

func (o AwsNetworkPeeringMapOutput) ToAwsNetworkPeeringMapOutputWithContext(ctx context.Context) AwsNetworkPeeringMapOutput

type AwsNetworkPeeringOutput

type AwsNetworkPeeringOutput struct{ *pulumi.OutputState }

func (AwsNetworkPeeringOutput) CreatedAt added in v0.1.4

The time that the network peering was created.

func (AwsNetworkPeeringOutput) ElementType

func (AwsNetworkPeeringOutput) ElementType() reflect.Type

func (AwsNetworkPeeringOutput) ExpiresAt added in v0.1.4

The time after which the network peering will be considered expired if it hasn't transitioned into `ACCEPTED` or `ACTIVE` state.

func (AwsNetworkPeeringOutput) HvnId added in v0.1.4

The ID of the HashiCorp Virtual Network (HVN).

func (AwsNetworkPeeringOutput) OrganizationId added in v0.1.4

func (o AwsNetworkPeeringOutput) OrganizationId() pulumi.StringOutput

The ID of the HCP organization where the network peering is located. Always matches the HVN's organization.

func (AwsNetworkPeeringOutput) PeerAccountId added in v0.1.4

func (o AwsNetworkPeeringOutput) PeerAccountId() pulumi.StringOutput

The account ID of the peer VPC in AWS.

func (AwsNetworkPeeringOutput) PeerVpcId added in v0.1.4

The ID of the peer VPC in AWS.

func (AwsNetworkPeeringOutput) PeerVpcRegion added in v0.1.4

func (o AwsNetworkPeeringOutput) PeerVpcRegion() pulumi.StringOutput

The region of the peer VPC in AWS.

func (AwsNetworkPeeringOutput) PeeringId added in v0.1.4

The ID of the network peering.

func (AwsNetworkPeeringOutput) ProjectId added in v0.1.4

The ID of the HCP project where the network peering is located. Always matches the HVN's project.

func (AwsNetworkPeeringOutput) ProviderPeeringId added in v0.1.4

func (o AwsNetworkPeeringOutput) ProviderPeeringId() pulumi.StringOutput

The peering connection ID used by AWS.

A unique URL identifying the network peering.

func (AwsNetworkPeeringOutput) State added in v0.1.10

The state of the network peering.

func (AwsNetworkPeeringOutput) ToAwsNetworkPeeringOutput

func (o AwsNetworkPeeringOutput) ToAwsNetworkPeeringOutput() AwsNetworkPeeringOutput

func (AwsNetworkPeeringOutput) ToAwsNetworkPeeringOutputWithContext

func (o AwsNetworkPeeringOutput) ToAwsNetworkPeeringOutputWithContext(ctx context.Context) AwsNetworkPeeringOutput

type AwsNetworkPeeringState

type AwsNetworkPeeringState struct {
	// The time that the network peering was created.
	CreatedAt pulumi.StringPtrInput
	// The time after which the network peering will be considered expired if it hasn't transitioned into `ACCEPTED` or `ACTIVE` state.
	ExpiresAt pulumi.StringPtrInput
	// The ID of the HashiCorp Virtual Network (HVN).
	HvnId pulumi.StringPtrInput
	// The ID of the HCP organization where the network peering is located. Always matches the HVN's organization.
	OrganizationId pulumi.StringPtrInput
	// The account ID of the peer VPC in AWS.
	PeerAccountId pulumi.StringPtrInput
	// The ID of the peer VPC in AWS.
	PeerVpcId pulumi.StringPtrInput
	// The region of the peer VPC in AWS.
	PeerVpcRegion pulumi.StringPtrInput
	// The ID of the network peering.
	PeeringId pulumi.StringPtrInput
	// The ID of the HCP project where the network peering is located. Always matches the HVN's project.
	ProjectId pulumi.StringPtrInput
	// The peering connection ID used by AWS.
	ProviderPeeringId pulumi.StringPtrInput
	// A unique URL identifying the network peering.
	SelfLink pulumi.StringPtrInput
	// The state of the network peering.
	State pulumi.StringPtrInput
}

func (AwsNetworkPeeringState) ElementType

func (AwsNetworkPeeringState) ElementType() reflect.Type

type AwsTransitGatewayAttachment

type AwsTransitGatewayAttachment struct {
	pulumi.CustomResourceState

	// The time that the transit gateway attachment was created.
	CreatedAt pulumi.StringOutput `pulumi:"createdAt"`
	// The time after which the transit gateway attachment will be considered expired if it hasn't transitioned into `ACCEPTED` or `ACTIVE` state.
	ExpiresAt pulumi.StringOutput `pulumi:"expiresAt"`
	// The ID of the HashiCorp Virtual Network (HVN).
	HvnId pulumi.StringOutput `pulumi:"hvnId"`
	// The ID of the HCP organization where the transit gateway attachment is located. Always matches the HVN's organization.
	OrganizationId pulumi.StringOutput `pulumi:"organizationId"`
	// The ID of the HCP project where the transit gateway attachment is located. Always matches the HVN's project.
	ProjectId pulumi.StringOutput `pulumi:"projectId"`
	// The transit gateway attachment ID used by AWS.
	ProviderTransitGatewayAttachmentId pulumi.StringOutput `pulumi:"providerTransitGatewayAttachmentId"`
	// The Amazon Resource Name (ARN) of the Resource Share that is needed to grant HCP access to the transit gateway in AWS.
	// The Resource Share should be associated with the HCP AWS account principal (see
	// [aws_ram_principal_association](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/ram_principal_association))
	// and the transit gateway resource (see
	// [aws_ram_resource_association](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/ram_resource_association))
	ResourceShareArn pulumi.StringOutput `pulumi:"resourceShareArn"`
	// A unique URL identifying the transit gateway attachment.
	SelfLink pulumi.StringOutput `pulumi:"selfLink"`
	// The state of the transit gateway attachment.
	State pulumi.StringOutput `pulumi:"state"`
	// The user-settable name of the transit gateway attachment in HCP.
	TransitGatewayAttachmentId pulumi.StringOutput `pulumi:"transitGatewayAttachmentId"`
	// The ID of the user-owned transit gateway in AWS. The AWS region of the transit gateway must match the HVN.
	TransitGatewayId pulumi.StringOutput `pulumi:"transitGatewayId"`
}

## Example Usage

```go package main

import (

"github.com/grapl-security/pulumi-hcp/sdk/go/hcp"
"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/ec2"
"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/ec2transitgateway"
"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/ram"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		main, err := hcp.NewHvn(ctx, "main", &hcp.HvnArgs{
			HvnId:         pulumi.String("main-hvn"),
			CloudProvider: pulumi.String("aws"),
			Region:        pulumi.String("us-west-2"),
			CidrBlock:     pulumi.String("172.25.16.0/20"),
		})
		if err != nil {
			return err
		}
		exampleVpc, err := ec2.NewVpc(ctx, "exampleVpc", &ec2.VpcArgs{
			CidrBlock: pulumi.String("172.31.0.0/16"),
		})
		if err != nil {
			return err
		}
		exampleTransitGateway, err := ec2transitgateway.NewTransitGateway(ctx, "exampleTransitGateway", &ec2transitgateway.TransitGatewayArgs{
			Tags: pulumi.StringMap{
				"Name": pulumi.String("example-tgw"),
			},
		})
		if err != nil {
			return err
		}
		exampleResourceShare, err := ram.NewResourceShare(ctx, "exampleResourceShare", &ram.ResourceShareArgs{
			AllowExternalPrincipals: pulumi.Bool(true),
		})
		if err != nil {
			return err
		}
		examplePrincipalAssociation, err := ram.NewPrincipalAssociation(ctx, "examplePrincipalAssociation", &ram.PrincipalAssociationArgs{
			ResourceShareArn: exampleResourceShare.Arn,
			Principal:        main.ProviderAccountId,
		})
		if err != nil {
			return err
		}
		exampleResourceAssociation, err := ram.NewResourceAssociation(ctx, "exampleResourceAssociation", &ram.ResourceAssociationArgs{
			ResourceShareArn: exampleResourceShare.Arn,
			ResourceArn:      exampleTransitGateway.Arn,
		})
		if err != nil {
			return err
		}
		exampleAwsTransitGatewayAttachment, err := hcp.NewAwsTransitGatewayAttachment(ctx, "exampleAwsTransitGatewayAttachment", &hcp.AwsTransitGatewayAttachmentArgs{
			HvnId:                      main.HvnId,
			TransitGatewayAttachmentId: pulumi.String("example-tgw-attachment"),
			TransitGatewayId:           exampleTransitGateway.ID(),
			ResourceShareArn:           exampleResourceShare.Arn,
		}, pulumi.DependsOn([]pulumi.Resource{
			examplePrincipalAssociation,
			exampleResourceAssociation,
		}))
		if err != nil {
			return err
		}
		_, err = hcp.NewHvnRoute(ctx, "route", &hcp.HvnRouteArgs{
			HvnLink:         main.SelfLink,
			HvnRouteId:      pulumi.String("hvn-to-tgw-attachment"),
			DestinationCidr: exampleVpc.CidrBlock,
			TargetLink:      exampleAwsTransitGatewayAttachment.SelfLink,
		})
		if err != nil {
			return err
		}
		_, err = ec2transitgateway.NewVpcAttachmentAccepter(ctx, "exampleVpcAttachmentAccepter", &ec2transitgateway.VpcAttachmentAccepterArgs{
			TransitGatewayAttachmentId: exampleAwsTransitGatewayAttachment.ProviderTransitGatewayAttachmentId,
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

The import ID is {hvn_id}:{transit_gateway_attachment_id}

```sh

$ pulumi import hcp:index/awsTransitGatewayAttachment:AwsTransitGatewayAttachment example main-hvn:example-tgw-attachment

```

func GetAwsTransitGatewayAttachment

func GetAwsTransitGatewayAttachment(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *AwsTransitGatewayAttachmentState, opts ...pulumi.ResourceOption) (*AwsTransitGatewayAttachment, error)

GetAwsTransitGatewayAttachment gets an existing AwsTransitGatewayAttachment 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 NewAwsTransitGatewayAttachment

func NewAwsTransitGatewayAttachment(ctx *pulumi.Context,
	name string, args *AwsTransitGatewayAttachmentArgs, opts ...pulumi.ResourceOption) (*AwsTransitGatewayAttachment, error)

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

func (*AwsTransitGatewayAttachment) ElementType

func (*AwsTransitGatewayAttachment) ElementType() reflect.Type

func (*AwsTransitGatewayAttachment) ToAwsTransitGatewayAttachmentOutput

func (i *AwsTransitGatewayAttachment) ToAwsTransitGatewayAttachmentOutput() AwsTransitGatewayAttachmentOutput

func (*AwsTransitGatewayAttachment) ToAwsTransitGatewayAttachmentOutputWithContext

func (i *AwsTransitGatewayAttachment) ToAwsTransitGatewayAttachmentOutputWithContext(ctx context.Context) AwsTransitGatewayAttachmentOutput

type AwsTransitGatewayAttachmentArgs

type AwsTransitGatewayAttachmentArgs struct {
	// The ID of the HashiCorp Virtual Network (HVN).
	HvnId pulumi.StringInput
	// The Amazon Resource Name (ARN) of the Resource Share that is needed to grant HCP access to the transit gateway in AWS.
	// The Resource Share should be associated with the HCP AWS account principal (see
	// [aws_ram_principal_association](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/ram_principal_association))
	// and the transit gateway resource (see
	// [aws_ram_resource_association](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/ram_resource_association))
	ResourceShareArn pulumi.StringInput
	// The user-settable name of the transit gateway attachment in HCP.
	TransitGatewayAttachmentId pulumi.StringInput
	// The ID of the user-owned transit gateway in AWS. The AWS region of the transit gateway must match the HVN.
	TransitGatewayId pulumi.StringInput
}

The set of arguments for constructing a AwsTransitGatewayAttachment resource.

func (AwsTransitGatewayAttachmentArgs) ElementType

type AwsTransitGatewayAttachmentArray

type AwsTransitGatewayAttachmentArray []AwsTransitGatewayAttachmentInput

func (AwsTransitGatewayAttachmentArray) ElementType

func (AwsTransitGatewayAttachmentArray) ToAwsTransitGatewayAttachmentArrayOutput

func (i AwsTransitGatewayAttachmentArray) ToAwsTransitGatewayAttachmentArrayOutput() AwsTransitGatewayAttachmentArrayOutput

func (AwsTransitGatewayAttachmentArray) ToAwsTransitGatewayAttachmentArrayOutputWithContext

func (i AwsTransitGatewayAttachmentArray) ToAwsTransitGatewayAttachmentArrayOutputWithContext(ctx context.Context) AwsTransitGatewayAttachmentArrayOutput

type AwsTransitGatewayAttachmentArrayInput

type AwsTransitGatewayAttachmentArrayInput interface {
	pulumi.Input

	ToAwsTransitGatewayAttachmentArrayOutput() AwsTransitGatewayAttachmentArrayOutput
	ToAwsTransitGatewayAttachmentArrayOutputWithContext(context.Context) AwsTransitGatewayAttachmentArrayOutput
}

AwsTransitGatewayAttachmentArrayInput is an input type that accepts AwsTransitGatewayAttachmentArray and AwsTransitGatewayAttachmentArrayOutput values. You can construct a concrete instance of `AwsTransitGatewayAttachmentArrayInput` via:

AwsTransitGatewayAttachmentArray{ AwsTransitGatewayAttachmentArgs{...} }

type AwsTransitGatewayAttachmentArrayOutput

type AwsTransitGatewayAttachmentArrayOutput struct{ *pulumi.OutputState }

func (AwsTransitGatewayAttachmentArrayOutput) ElementType

func (AwsTransitGatewayAttachmentArrayOutput) Index

func (AwsTransitGatewayAttachmentArrayOutput) ToAwsTransitGatewayAttachmentArrayOutput

func (o AwsTransitGatewayAttachmentArrayOutput) ToAwsTransitGatewayAttachmentArrayOutput() AwsTransitGatewayAttachmentArrayOutput

func (AwsTransitGatewayAttachmentArrayOutput) ToAwsTransitGatewayAttachmentArrayOutputWithContext

func (o AwsTransitGatewayAttachmentArrayOutput) ToAwsTransitGatewayAttachmentArrayOutputWithContext(ctx context.Context) AwsTransitGatewayAttachmentArrayOutput

type AwsTransitGatewayAttachmentInput

type AwsTransitGatewayAttachmentInput interface {
	pulumi.Input

	ToAwsTransitGatewayAttachmentOutput() AwsTransitGatewayAttachmentOutput
	ToAwsTransitGatewayAttachmentOutputWithContext(ctx context.Context) AwsTransitGatewayAttachmentOutput
}

type AwsTransitGatewayAttachmentMap

type AwsTransitGatewayAttachmentMap map[string]AwsTransitGatewayAttachmentInput

func (AwsTransitGatewayAttachmentMap) ElementType

func (AwsTransitGatewayAttachmentMap) ToAwsTransitGatewayAttachmentMapOutput

func (i AwsTransitGatewayAttachmentMap) ToAwsTransitGatewayAttachmentMapOutput() AwsTransitGatewayAttachmentMapOutput

func (AwsTransitGatewayAttachmentMap) ToAwsTransitGatewayAttachmentMapOutputWithContext

func (i AwsTransitGatewayAttachmentMap) ToAwsTransitGatewayAttachmentMapOutputWithContext(ctx context.Context) AwsTransitGatewayAttachmentMapOutput

type AwsTransitGatewayAttachmentMapInput

type AwsTransitGatewayAttachmentMapInput interface {
	pulumi.Input

	ToAwsTransitGatewayAttachmentMapOutput() AwsTransitGatewayAttachmentMapOutput
	ToAwsTransitGatewayAttachmentMapOutputWithContext(context.Context) AwsTransitGatewayAttachmentMapOutput
}

AwsTransitGatewayAttachmentMapInput is an input type that accepts AwsTransitGatewayAttachmentMap and AwsTransitGatewayAttachmentMapOutput values. You can construct a concrete instance of `AwsTransitGatewayAttachmentMapInput` via:

AwsTransitGatewayAttachmentMap{ "key": AwsTransitGatewayAttachmentArgs{...} }

type AwsTransitGatewayAttachmentMapOutput

type AwsTransitGatewayAttachmentMapOutput struct{ *pulumi.OutputState }

func (AwsTransitGatewayAttachmentMapOutput) ElementType

func (AwsTransitGatewayAttachmentMapOutput) MapIndex

func (AwsTransitGatewayAttachmentMapOutput) ToAwsTransitGatewayAttachmentMapOutput

func (o AwsTransitGatewayAttachmentMapOutput) ToAwsTransitGatewayAttachmentMapOutput() AwsTransitGatewayAttachmentMapOutput

func (AwsTransitGatewayAttachmentMapOutput) ToAwsTransitGatewayAttachmentMapOutputWithContext

func (o AwsTransitGatewayAttachmentMapOutput) ToAwsTransitGatewayAttachmentMapOutputWithContext(ctx context.Context) AwsTransitGatewayAttachmentMapOutput

type AwsTransitGatewayAttachmentOutput

type AwsTransitGatewayAttachmentOutput struct{ *pulumi.OutputState }

func (AwsTransitGatewayAttachmentOutput) CreatedAt added in v0.1.4

The time that the transit gateway attachment was created.

func (AwsTransitGatewayAttachmentOutput) ElementType

func (AwsTransitGatewayAttachmentOutput) ExpiresAt added in v0.1.4

The time after which the transit gateway attachment will be considered expired if it hasn't transitioned into `ACCEPTED` or `ACTIVE` state.

func (AwsTransitGatewayAttachmentOutput) HvnId added in v0.1.4

The ID of the HashiCorp Virtual Network (HVN).

func (AwsTransitGatewayAttachmentOutput) OrganizationId added in v0.1.4

The ID of the HCP organization where the transit gateway attachment is located. Always matches the HVN's organization.

func (AwsTransitGatewayAttachmentOutput) ProjectId added in v0.1.4

The ID of the HCP project where the transit gateway attachment is located. Always matches the HVN's project.

func (AwsTransitGatewayAttachmentOutput) ProviderTransitGatewayAttachmentId added in v0.1.4

func (o AwsTransitGatewayAttachmentOutput) ProviderTransitGatewayAttachmentId() pulumi.StringOutput

The transit gateway attachment ID used by AWS.

func (AwsTransitGatewayAttachmentOutput) ResourceShareArn added in v0.1.4

The Amazon Resource Name (ARN) of the Resource Share that is needed to grant HCP access to the transit gateway in AWS. The Resource Share should be associated with the HCP AWS account principal (see [aws_ram_principal_association](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/ram_principal_association)) and the transit gateway resource (see [aws_ram_resource_association](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/ram_resource_association))

A unique URL identifying the transit gateway attachment.

func (AwsTransitGatewayAttachmentOutput) State added in v0.1.4

The state of the transit gateway attachment.

func (AwsTransitGatewayAttachmentOutput) ToAwsTransitGatewayAttachmentOutput

func (o AwsTransitGatewayAttachmentOutput) ToAwsTransitGatewayAttachmentOutput() AwsTransitGatewayAttachmentOutput

func (AwsTransitGatewayAttachmentOutput) ToAwsTransitGatewayAttachmentOutputWithContext

func (o AwsTransitGatewayAttachmentOutput) ToAwsTransitGatewayAttachmentOutputWithContext(ctx context.Context) AwsTransitGatewayAttachmentOutput

func (AwsTransitGatewayAttachmentOutput) TransitGatewayAttachmentId added in v0.1.4

func (o AwsTransitGatewayAttachmentOutput) TransitGatewayAttachmentId() pulumi.StringOutput

The user-settable name of the transit gateway attachment in HCP.

func (AwsTransitGatewayAttachmentOutput) TransitGatewayId added in v0.1.4

The ID of the user-owned transit gateway in AWS. The AWS region of the transit gateway must match the HVN.

type AwsTransitGatewayAttachmentState

type AwsTransitGatewayAttachmentState struct {
	// The time that the transit gateway attachment was created.
	CreatedAt pulumi.StringPtrInput
	// The time after which the transit gateway attachment will be considered expired if it hasn't transitioned into `ACCEPTED` or `ACTIVE` state.
	ExpiresAt pulumi.StringPtrInput
	// The ID of the HashiCorp Virtual Network (HVN).
	HvnId pulumi.StringPtrInput
	// The ID of the HCP organization where the transit gateway attachment is located. Always matches the HVN's organization.
	OrganizationId pulumi.StringPtrInput
	// The ID of the HCP project where the transit gateway attachment is located. Always matches the HVN's project.
	ProjectId pulumi.StringPtrInput
	// The transit gateway attachment ID used by AWS.
	ProviderTransitGatewayAttachmentId pulumi.StringPtrInput
	// The Amazon Resource Name (ARN) of the Resource Share that is needed to grant HCP access to the transit gateway in AWS.
	// The Resource Share should be associated with the HCP AWS account principal (see
	// [aws_ram_principal_association](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/ram_principal_association))
	// and the transit gateway resource (see
	// [aws_ram_resource_association](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/ram_resource_association))
	ResourceShareArn pulumi.StringPtrInput
	// A unique URL identifying the transit gateway attachment.
	SelfLink pulumi.StringPtrInput
	// The state of the transit gateway attachment.
	State pulumi.StringPtrInput
	// The user-settable name of the transit gateway attachment in HCP.
	TransitGatewayAttachmentId pulumi.StringPtrInput
	// The ID of the user-owned transit gateway in AWS. The AWS region of the transit gateway must match the HVN.
	TransitGatewayId pulumi.StringPtrInput
}

func (AwsTransitGatewayAttachmentState) ElementType

type AzurePeeringConnection

type AzurePeeringConnection struct {
	pulumi.CustomResourceState

	// The ID of the Azure application whose credentials are used to peer the HCP HVN's underlying VNet with the customer VNet.
	ApplicationId pulumi.StringOutput `pulumi:"applicationId"`
	// The peering connection ID used by Azure.
	AzurePeeringId pulumi.StringOutput `pulumi:"azurePeeringId"`
	// The time that the peering connection was created.
	CreatedAt pulumi.StringOutput `pulumi:"createdAt"`
	// The time after which the peering connection will be considered expired if it hasn't transitioned into `ACCEPTED` or `ACTIVE` state.
	ExpiresAt pulumi.StringOutput `pulumi:"expiresAt"`
	// The `selfLink` of the HashiCorp Virtual Network (HVN).
	HvnLink pulumi.StringOutput `pulumi:"hvnLink"`
	// The ID of the HCP organization where the peering connection is located. Always matches the HVN's organization.
	OrganizationId pulumi.StringOutput `pulumi:"organizationId"`
	// The resource group name of the peer VNet in Azure.
	PeerResourceGroupName pulumi.StringOutput `pulumi:"peerResourceGroupName"`
	// The subscription ID of the peer VNet in Azure.
	PeerSubscriptionId pulumi.StringOutput `pulumi:"peerSubscriptionId"`
	// The tenant ID of the peer VNet in Azure.
	PeerTenantId pulumi.StringOutput `pulumi:"peerTenantId"`
	// The name of the peer VNet in Azure.
	PeerVnetName pulumi.StringOutput `pulumi:"peerVnetName"`
	// The region of the peer VNet in Azure.
	PeerVnetRegion pulumi.StringOutput `pulumi:"peerVnetRegion"`
	// The ID of the peering connection.
	PeeringId pulumi.StringOutput `pulumi:"peeringId"`
	// The ID of the HCP project where the peering connection is located. Always matches the HVN's project.
	ProjectId pulumi.StringOutput `pulumi:"projectId"`
	// A unique URL identifying the peering connection.
	SelfLink pulumi.StringOutput `pulumi:"selfLink"`
	// The state of the Azure peering connection.
	State pulumi.StringOutput `pulumi:"state"`
}

> **Note:** This data source is currently in public beta.

The Azure peering connection resource allows you to manage a peering connection between an HVN and a peer Azure VNet.

## Import

The import ID is {hvn_id}:{peering_id}

```sh

$ pulumi import hcp:index/azurePeeringConnection:AzurePeeringConnection peer main-hvn:199e7e96-4d5f-4456-91f3-b6cc71f1e561

```

func GetAzurePeeringConnection

func GetAzurePeeringConnection(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *AzurePeeringConnectionState, opts ...pulumi.ResourceOption) (*AzurePeeringConnection, error)

GetAzurePeeringConnection gets an existing AzurePeeringConnection 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 NewAzurePeeringConnection

func NewAzurePeeringConnection(ctx *pulumi.Context,
	name string, args *AzurePeeringConnectionArgs, opts ...pulumi.ResourceOption) (*AzurePeeringConnection, error)

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

func (*AzurePeeringConnection) ElementType

func (*AzurePeeringConnection) ElementType() reflect.Type

func (*AzurePeeringConnection) ToAzurePeeringConnectionOutput

func (i *AzurePeeringConnection) ToAzurePeeringConnectionOutput() AzurePeeringConnectionOutput

func (*AzurePeeringConnection) ToAzurePeeringConnectionOutputWithContext

func (i *AzurePeeringConnection) ToAzurePeeringConnectionOutputWithContext(ctx context.Context) AzurePeeringConnectionOutput

type AzurePeeringConnectionArgs

type AzurePeeringConnectionArgs struct {
	// The `selfLink` of the HashiCorp Virtual Network (HVN).
	HvnLink pulumi.StringInput
	// The resource group name of the peer VNet in Azure.
	PeerResourceGroupName pulumi.StringInput
	// The subscription ID of the peer VNet in Azure.
	PeerSubscriptionId pulumi.StringInput
	// The tenant ID of the peer VNet in Azure.
	PeerTenantId pulumi.StringInput
	// The name of the peer VNet in Azure.
	PeerVnetName pulumi.StringInput
	// The region of the peer VNet in Azure.
	PeerVnetRegion pulumi.StringInput
	// The ID of the peering connection.
	PeeringId pulumi.StringInput
}

The set of arguments for constructing a AzurePeeringConnection resource.

func (AzurePeeringConnectionArgs) ElementType

func (AzurePeeringConnectionArgs) ElementType() reflect.Type

type AzurePeeringConnectionArray

type AzurePeeringConnectionArray []AzurePeeringConnectionInput

func (AzurePeeringConnectionArray) ElementType

func (AzurePeeringConnectionArray) ToAzurePeeringConnectionArrayOutput

func (i AzurePeeringConnectionArray) ToAzurePeeringConnectionArrayOutput() AzurePeeringConnectionArrayOutput

func (AzurePeeringConnectionArray) ToAzurePeeringConnectionArrayOutputWithContext

func (i AzurePeeringConnectionArray) ToAzurePeeringConnectionArrayOutputWithContext(ctx context.Context) AzurePeeringConnectionArrayOutput

type AzurePeeringConnectionArrayInput

type AzurePeeringConnectionArrayInput interface {
	pulumi.Input

	ToAzurePeeringConnectionArrayOutput() AzurePeeringConnectionArrayOutput
	ToAzurePeeringConnectionArrayOutputWithContext(context.Context) AzurePeeringConnectionArrayOutput
}

AzurePeeringConnectionArrayInput is an input type that accepts AzurePeeringConnectionArray and AzurePeeringConnectionArrayOutput values. You can construct a concrete instance of `AzurePeeringConnectionArrayInput` via:

AzurePeeringConnectionArray{ AzurePeeringConnectionArgs{...} }

type AzurePeeringConnectionArrayOutput

type AzurePeeringConnectionArrayOutput struct{ *pulumi.OutputState }

func (AzurePeeringConnectionArrayOutput) ElementType

func (AzurePeeringConnectionArrayOutput) Index

func (AzurePeeringConnectionArrayOutput) ToAzurePeeringConnectionArrayOutput

func (o AzurePeeringConnectionArrayOutput) ToAzurePeeringConnectionArrayOutput() AzurePeeringConnectionArrayOutput

func (AzurePeeringConnectionArrayOutput) ToAzurePeeringConnectionArrayOutputWithContext

func (o AzurePeeringConnectionArrayOutput) ToAzurePeeringConnectionArrayOutputWithContext(ctx context.Context) AzurePeeringConnectionArrayOutput

type AzurePeeringConnectionInput

type AzurePeeringConnectionInput interface {
	pulumi.Input

	ToAzurePeeringConnectionOutput() AzurePeeringConnectionOutput
	ToAzurePeeringConnectionOutputWithContext(ctx context.Context) AzurePeeringConnectionOutput
}

type AzurePeeringConnectionMap

type AzurePeeringConnectionMap map[string]AzurePeeringConnectionInput

func (AzurePeeringConnectionMap) ElementType

func (AzurePeeringConnectionMap) ElementType() reflect.Type

func (AzurePeeringConnectionMap) ToAzurePeeringConnectionMapOutput

func (i AzurePeeringConnectionMap) ToAzurePeeringConnectionMapOutput() AzurePeeringConnectionMapOutput

func (AzurePeeringConnectionMap) ToAzurePeeringConnectionMapOutputWithContext

func (i AzurePeeringConnectionMap) ToAzurePeeringConnectionMapOutputWithContext(ctx context.Context) AzurePeeringConnectionMapOutput

type AzurePeeringConnectionMapInput

type AzurePeeringConnectionMapInput interface {
	pulumi.Input

	ToAzurePeeringConnectionMapOutput() AzurePeeringConnectionMapOutput
	ToAzurePeeringConnectionMapOutputWithContext(context.Context) AzurePeeringConnectionMapOutput
}

AzurePeeringConnectionMapInput is an input type that accepts AzurePeeringConnectionMap and AzurePeeringConnectionMapOutput values. You can construct a concrete instance of `AzurePeeringConnectionMapInput` via:

AzurePeeringConnectionMap{ "key": AzurePeeringConnectionArgs{...} }

type AzurePeeringConnectionMapOutput

type AzurePeeringConnectionMapOutput struct{ *pulumi.OutputState }

func (AzurePeeringConnectionMapOutput) ElementType

func (AzurePeeringConnectionMapOutput) MapIndex

func (AzurePeeringConnectionMapOutput) ToAzurePeeringConnectionMapOutput

func (o AzurePeeringConnectionMapOutput) ToAzurePeeringConnectionMapOutput() AzurePeeringConnectionMapOutput

func (AzurePeeringConnectionMapOutput) ToAzurePeeringConnectionMapOutputWithContext

func (o AzurePeeringConnectionMapOutput) ToAzurePeeringConnectionMapOutputWithContext(ctx context.Context) AzurePeeringConnectionMapOutput

type AzurePeeringConnectionOutput

type AzurePeeringConnectionOutput struct{ *pulumi.OutputState }

func (AzurePeeringConnectionOutput) ApplicationId added in v0.1.4

The ID of the Azure application whose credentials are used to peer the HCP HVN's underlying VNet with the customer VNet.

func (AzurePeeringConnectionOutput) AzurePeeringId added in v0.1.4

The peering connection ID used by Azure.

func (AzurePeeringConnectionOutput) CreatedAt added in v0.1.4

The time that the peering connection was created.

func (AzurePeeringConnectionOutput) ElementType

func (AzurePeeringConnectionOutput) ExpiresAt added in v0.1.4

The time after which the peering connection will be considered expired if it hasn't transitioned into `ACCEPTED` or `ACTIVE` state.

The `selfLink` of the HashiCorp Virtual Network (HVN).

func (AzurePeeringConnectionOutput) OrganizationId added in v0.1.4

The ID of the HCP organization where the peering connection is located. Always matches the HVN's organization.

func (AzurePeeringConnectionOutput) PeerResourceGroupName added in v0.1.4

func (o AzurePeeringConnectionOutput) PeerResourceGroupName() pulumi.StringOutput

The resource group name of the peer VNet in Azure.

func (AzurePeeringConnectionOutput) PeerSubscriptionId added in v0.1.4

func (o AzurePeeringConnectionOutput) PeerSubscriptionId() pulumi.StringOutput

The subscription ID of the peer VNet in Azure.

func (AzurePeeringConnectionOutput) PeerTenantId added in v0.1.4

The tenant ID of the peer VNet in Azure.

func (AzurePeeringConnectionOutput) PeerVnetName added in v0.1.4

The name of the peer VNet in Azure.

func (AzurePeeringConnectionOutput) PeerVnetRegion added in v0.1.4

The region of the peer VNet in Azure.

func (AzurePeeringConnectionOutput) PeeringId added in v0.1.4

The ID of the peering connection.

func (AzurePeeringConnectionOutput) ProjectId added in v0.1.4

The ID of the HCP project where the peering connection is located. Always matches the HVN's project.

A unique URL identifying the peering connection.

func (AzurePeeringConnectionOutput) State added in v0.1.10

The state of the Azure peering connection.

func (AzurePeeringConnectionOutput) ToAzurePeeringConnectionOutput

func (o AzurePeeringConnectionOutput) ToAzurePeeringConnectionOutput() AzurePeeringConnectionOutput

func (AzurePeeringConnectionOutput) ToAzurePeeringConnectionOutputWithContext

func (o AzurePeeringConnectionOutput) ToAzurePeeringConnectionOutputWithContext(ctx context.Context) AzurePeeringConnectionOutput

type AzurePeeringConnectionState

type AzurePeeringConnectionState struct {
	// The ID of the Azure application whose credentials are used to peer the HCP HVN's underlying VNet with the customer VNet.
	ApplicationId pulumi.StringPtrInput
	// The peering connection ID used by Azure.
	AzurePeeringId pulumi.StringPtrInput
	// The time that the peering connection was created.
	CreatedAt pulumi.StringPtrInput
	// The time after which the peering connection will be considered expired if it hasn't transitioned into `ACCEPTED` or `ACTIVE` state.
	ExpiresAt pulumi.StringPtrInput
	// The `selfLink` of the HashiCorp Virtual Network (HVN).
	HvnLink pulumi.StringPtrInput
	// The ID of the HCP organization where the peering connection is located. Always matches the HVN's organization.
	OrganizationId pulumi.StringPtrInput
	// The resource group name of the peer VNet in Azure.
	PeerResourceGroupName pulumi.StringPtrInput
	// The subscription ID of the peer VNet in Azure.
	PeerSubscriptionId pulumi.StringPtrInput
	// The tenant ID of the peer VNet in Azure.
	PeerTenantId pulumi.StringPtrInput
	// The name of the peer VNet in Azure.
	PeerVnetName pulumi.StringPtrInput
	// The region of the peer VNet in Azure.
	PeerVnetRegion pulumi.StringPtrInput
	// The ID of the peering connection.
	PeeringId pulumi.StringPtrInput
	// The ID of the HCP project where the peering connection is located. Always matches the HVN's project.
	ProjectId pulumi.StringPtrInput
	// A unique URL identifying the peering connection.
	SelfLink pulumi.StringPtrInput
	// The state of the Azure peering connection.
	State pulumi.StringPtrInput
}

func (AzurePeeringConnectionState) ElementType

type BoundaryCluster added in v0.1.12

type BoundaryCluster struct {
	pulumi.CustomResourceState

	// The ID of the Boundary cluster
	ClusterId pulumi.StringOutput `pulumi:"clusterId"`
	// A unique URL identifying the Boundary cluster.
	ClusterUrl pulumi.StringOutput `pulumi:"clusterUrl"`
	// The time that the Boundary cluster was created.
	CreatedAt pulumi.StringOutput `pulumi:"createdAt"`
	// The password of the initial admin user. This must be at least 8 characters in length. Note that this may show up in logs, and it will be stored in the state file.
	Password pulumi.StringOutput `pulumi:"password"`
	// The state of the Boundary cluster.
	State pulumi.StringOutput `pulumi:"state"`
	// The username of the initial admin user. This must be at least 3 characters in length, alphanumeric, hyphen, or period.
	Username pulumi.StringOutput `pulumi:"username"`
}

This resource allows you to manage an HCP Boundary cluster

## Example Usage

```go package main

import (

"github.com/grapl-security/pulumi-hcp/sdk/go/hcp"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := hcp.NewBoundaryCluster(ctx, "example", &hcp.BoundaryClusterArgs{
			ClusterId: pulumi.String("boundary-cluster"),
			Password:  pulumi.String("Password123!"),
			Username:  pulumi.String("test-user"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

The import ID is {cluster_id}

```sh

$ pulumi import hcp:index/boundaryCluster:BoundaryCluster example boundary-cluster

```

func GetBoundaryCluster added in v0.1.12

func GetBoundaryCluster(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *BoundaryClusterState, opts ...pulumi.ResourceOption) (*BoundaryCluster, error)

GetBoundaryCluster gets an existing BoundaryCluster 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 NewBoundaryCluster added in v0.1.12

func NewBoundaryCluster(ctx *pulumi.Context,
	name string, args *BoundaryClusterArgs, opts ...pulumi.ResourceOption) (*BoundaryCluster, error)

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

func (*BoundaryCluster) ElementType added in v0.1.12

func (*BoundaryCluster) ElementType() reflect.Type

func (*BoundaryCluster) ToBoundaryClusterOutput added in v0.1.12

func (i *BoundaryCluster) ToBoundaryClusterOutput() BoundaryClusterOutput

func (*BoundaryCluster) ToBoundaryClusterOutputWithContext added in v0.1.12

func (i *BoundaryCluster) ToBoundaryClusterOutputWithContext(ctx context.Context) BoundaryClusterOutput

type BoundaryClusterArgs added in v0.1.12

type BoundaryClusterArgs struct {
	// The ID of the Boundary cluster
	ClusterId pulumi.StringInput
	// The password of the initial admin user. This must be at least 8 characters in length. Note that this may show up in logs, and it will be stored in the state file.
	Password pulumi.StringInput
	// The username of the initial admin user. This must be at least 3 characters in length, alphanumeric, hyphen, or period.
	Username pulumi.StringInput
}

The set of arguments for constructing a BoundaryCluster resource.

func (BoundaryClusterArgs) ElementType added in v0.1.12

func (BoundaryClusterArgs) ElementType() reflect.Type

type BoundaryClusterArray added in v0.1.12

type BoundaryClusterArray []BoundaryClusterInput

func (BoundaryClusterArray) ElementType added in v0.1.12

func (BoundaryClusterArray) ElementType() reflect.Type

func (BoundaryClusterArray) ToBoundaryClusterArrayOutput added in v0.1.12

func (i BoundaryClusterArray) ToBoundaryClusterArrayOutput() BoundaryClusterArrayOutput

func (BoundaryClusterArray) ToBoundaryClusterArrayOutputWithContext added in v0.1.12

func (i BoundaryClusterArray) ToBoundaryClusterArrayOutputWithContext(ctx context.Context) BoundaryClusterArrayOutput

type BoundaryClusterArrayInput added in v0.1.12

type BoundaryClusterArrayInput interface {
	pulumi.Input

	ToBoundaryClusterArrayOutput() BoundaryClusterArrayOutput
	ToBoundaryClusterArrayOutputWithContext(context.Context) BoundaryClusterArrayOutput
}

BoundaryClusterArrayInput is an input type that accepts BoundaryClusterArray and BoundaryClusterArrayOutput values. You can construct a concrete instance of `BoundaryClusterArrayInput` via:

BoundaryClusterArray{ BoundaryClusterArgs{...} }

type BoundaryClusterArrayOutput added in v0.1.12

type BoundaryClusterArrayOutput struct{ *pulumi.OutputState }

func (BoundaryClusterArrayOutput) ElementType added in v0.1.12

func (BoundaryClusterArrayOutput) ElementType() reflect.Type

func (BoundaryClusterArrayOutput) Index added in v0.1.12

func (BoundaryClusterArrayOutput) ToBoundaryClusterArrayOutput added in v0.1.12

func (o BoundaryClusterArrayOutput) ToBoundaryClusterArrayOutput() BoundaryClusterArrayOutput

func (BoundaryClusterArrayOutput) ToBoundaryClusterArrayOutputWithContext added in v0.1.12

func (o BoundaryClusterArrayOutput) ToBoundaryClusterArrayOutputWithContext(ctx context.Context) BoundaryClusterArrayOutput

type BoundaryClusterInput added in v0.1.12

type BoundaryClusterInput interface {
	pulumi.Input

	ToBoundaryClusterOutput() BoundaryClusterOutput
	ToBoundaryClusterOutputWithContext(ctx context.Context) BoundaryClusterOutput
}

type BoundaryClusterMap added in v0.1.12

type BoundaryClusterMap map[string]BoundaryClusterInput

func (BoundaryClusterMap) ElementType added in v0.1.12

func (BoundaryClusterMap) ElementType() reflect.Type

func (BoundaryClusterMap) ToBoundaryClusterMapOutput added in v0.1.12

func (i BoundaryClusterMap) ToBoundaryClusterMapOutput() BoundaryClusterMapOutput

func (BoundaryClusterMap) ToBoundaryClusterMapOutputWithContext added in v0.1.12

func (i BoundaryClusterMap) ToBoundaryClusterMapOutputWithContext(ctx context.Context) BoundaryClusterMapOutput

type BoundaryClusterMapInput added in v0.1.12

type BoundaryClusterMapInput interface {
	pulumi.Input

	ToBoundaryClusterMapOutput() BoundaryClusterMapOutput
	ToBoundaryClusterMapOutputWithContext(context.Context) BoundaryClusterMapOutput
}

BoundaryClusterMapInput is an input type that accepts BoundaryClusterMap and BoundaryClusterMapOutput values. You can construct a concrete instance of `BoundaryClusterMapInput` via:

BoundaryClusterMap{ "key": BoundaryClusterArgs{...} }

type BoundaryClusterMapOutput added in v0.1.12

type BoundaryClusterMapOutput struct{ *pulumi.OutputState }

func (BoundaryClusterMapOutput) ElementType added in v0.1.12

func (BoundaryClusterMapOutput) ElementType() reflect.Type

func (BoundaryClusterMapOutput) MapIndex added in v0.1.12

func (BoundaryClusterMapOutput) ToBoundaryClusterMapOutput added in v0.1.12

func (o BoundaryClusterMapOutput) ToBoundaryClusterMapOutput() BoundaryClusterMapOutput

func (BoundaryClusterMapOutput) ToBoundaryClusterMapOutputWithContext added in v0.1.12

func (o BoundaryClusterMapOutput) ToBoundaryClusterMapOutputWithContext(ctx context.Context) BoundaryClusterMapOutput

type BoundaryClusterOutput added in v0.1.12

type BoundaryClusterOutput struct{ *pulumi.OutputState }

func (BoundaryClusterOutput) ClusterId added in v0.1.12

The ID of the Boundary cluster

func (BoundaryClusterOutput) ClusterUrl added in v0.1.12

func (o BoundaryClusterOutput) ClusterUrl() pulumi.StringOutput

A unique URL identifying the Boundary cluster.

func (BoundaryClusterOutput) CreatedAt added in v0.1.12

The time that the Boundary cluster was created.

func (BoundaryClusterOutput) ElementType added in v0.1.12

func (BoundaryClusterOutput) ElementType() reflect.Type

func (BoundaryClusterOutput) Password added in v0.1.12

The password of the initial admin user. This must be at least 8 characters in length. Note that this may show up in logs, and it will be stored in the state file.

func (BoundaryClusterOutput) State added in v0.1.12

The state of the Boundary cluster.

func (BoundaryClusterOutput) ToBoundaryClusterOutput added in v0.1.12

func (o BoundaryClusterOutput) ToBoundaryClusterOutput() BoundaryClusterOutput

func (BoundaryClusterOutput) ToBoundaryClusterOutputWithContext added in v0.1.12

func (o BoundaryClusterOutput) ToBoundaryClusterOutputWithContext(ctx context.Context) BoundaryClusterOutput

func (BoundaryClusterOutput) Username added in v0.1.12

The username of the initial admin user. This must be at least 3 characters in length, alphanumeric, hyphen, or period.

type BoundaryClusterState added in v0.1.12

type BoundaryClusterState struct {
	// The ID of the Boundary cluster
	ClusterId pulumi.StringPtrInput
	// A unique URL identifying the Boundary cluster.
	ClusterUrl pulumi.StringPtrInput
	// The time that the Boundary cluster was created.
	CreatedAt pulumi.StringPtrInput
	// The password of the initial admin user. This must be at least 8 characters in length. Note that this may show up in logs, and it will be stored in the state file.
	Password pulumi.StringPtrInput
	// The state of the Boundary cluster.
	State pulumi.StringPtrInput
	// The username of the initial admin user. This must be at least 3 characters in length, alphanumeric, hyphen, or period.
	Username pulumi.StringPtrInput
}

func (BoundaryClusterState) ElementType added in v0.1.12

func (BoundaryClusterState) ElementType() reflect.Type

type ConsulCluster

type ConsulCluster struct {
	pulumi.CustomResourceState

	// Enables automatic HVN to HVN peering when creating a secondary cluster in a federation. The alternative to using the auto-accept feature is to create an `HvnPeeringConnection` resource that explicitly defines the HVN resources that are allowed to communicate with each other.
	AutoHvnToHvnPeering pulumi.BoolOutput `pulumi:"autoHvnToHvnPeering"`
	// The provider where the HCP Consul cluster is located.
	CloudProvider pulumi.StringOutput `pulumi:"cloudProvider"`
	// The ID of the HCP Consul cluster.
	ClusterId pulumi.StringOutput `pulumi:"clusterId"`
	// Denotes the Consul connect feature should be enabled for this cluster.  Default to true.
	ConnectEnabled pulumi.BoolPtrOutput `pulumi:"connectEnabled"`
	// Denotes that automatic Consul upgrades are enabled.
	ConsulAutomaticUpgrades pulumi.BoolOutput `pulumi:"consulAutomaticUpgrades"`
	// The cluster CA file encoded as a Base64 string.
	ConsulCaFile pulumi.StringOutput `pulumi:"consulCaFile"`
	// The cluster config encoded as a Base64 string.
	ConsulConfigFile pulumi.StringOutput `pulumi:"consulConfigFile"`
	// The private URL for the Consul UI.
	ConsulPrivateEndpointUrl pulumi.StringOutput `pulumi:"consulPrivateEndpointUrl"`
	// The public URL for the Consul UI. This will be empty if `publicEndpoint` is `false`.
	ConsulPublicEndpointUrl pulumi.StringOutput `pulumi:"consulPublicEndpointUrl"`
	// The accessor ID of the root ACL token that is generated upon cluster creation. If a new root token is generated using the `hcpConsulRootToken` resource, this field is no longer valid.
	ConsulRootTokenAccessorId pulumi.StringOutput `pulumi:"consulRootTokenAccessorId"`
	// The secret ID of the root ACL token that is generated upon cluster creation. If a new root token is generated using the `hcpConsulRootToken` resource, this field is no longer valid.
	ConsulRootTokenSecretId pulumi.StringOutput `pulumi:"consulRootTokenSecretId"`
	// The Consul snapshot interval.
	ConsulSnapshotInterval pulumi.StringOutput `pulumi:"consulSnapshotInterval"`
	// The retention policy for Consul snapshots.
	ConsulSnapshotRetention pulumi.StringOutput `pulumi:"consulSnapshotRetention"`
	// The Consul version of the cluster.
	ConsulVersion pulumi.StringOutput `pulumi:"consulVersion"`
	// The Consul data center name of the cluster. If not specified, it is defaulted to the value of `clusterId`.
	Datacenter pulumi.StringOutput `pulumi:"datacenter"`
	// The ID of the HVN this HCP Consul cluster is associated to.
	HvnId pulumi.StringOutput `pulumi:"hvnId"`
	// The minimum Consul version of the cluster. If not specified, it is defaulted to the version that is currently recommended by HCP.
	MinConsulVersion pulumi.StringPtrOutput `pulumi:"minConsulVersion"`
	// The ID of the organization this HCP Consul cluster is located in.
	OrganizationId pulumi.StringOutput `pulumi:"organizationId"`
	// The `selfLink` of the HCP Consul cluster which is the primary in the federation setup with this HCP Consul cluster. If not specified, it is a standalone cluster.
	PrimaryLink pulumi.StringPtrOutput `pulumi:"primaryLink"`
	// The ID of the project this HCP Consul cluster is located in.
	ProjectId pulumi.StringOutput `pulumi:"projectId"`
	// Denotes that the cluster has a public endpoint for the Consul UI. Defaults to false.
	PublicEndpoint pulumi.BoolPtrOutput `pulumi:"publicEndpoint"`
	// The region where the HCP Consul cluster is located.
	Region pulumi.StringOutput `pulumi:"region"`
	// The number of Consul server nodes in the cluster.
	Scale pulumi.IntOutput `pulumi:"scale"`
	// A unique URL identifying the HCP Consul cluster.
	SelfLink pulumi.StringOutput `pulumi:"selfLink"`
	// The t-shirt size representation of each server VM that this Consul cluster is provisioned with. Valid option for development tier - `xSmall`. Valid options for other tiers - `small`, `medium`, `large`. For more details - https://cloud.hashicorp.com/pricing/consul. Upgrading the size of a cluster after creation is allowed.
	Size pulumi.StringOutput `pulumi:"size"`
	// The state of the HCP Consul cluster.
	State pulumi.StringOutput `pulumi:"state"`
	// The tier that the HCP Consul cluster will be provisioned as.  Only `development`, `standard` and `plus` are available at this time. See [pricing information](https://cloud.hashicorp.com/pricing/consul).
	Tier pulumi.StringOutput `pulumi:"tier"`
}

> Consul on Azure is now available in public beta. [Get started with end-to-end deployment configuration](https://learn.hashicorp.com/tutorials/cloud/consul-end-to-end-overview).

The Consul cluster resource allows you to manage an HCP Consul cluster.

## Example Usage

```go package main

import (

"github.com/grapl-security/pulumi-hcp/sdk/go/hcp"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		exampleHvn, err := hcp.NewHvn(ctx, "exampleHvn", &hcp.HvnArgs{
			HvnId:         pulumi.String("hvn"),
			CloudProvider: pulumi.String("aws"),
			Region:        pulumi.String("us-west-2"),
			CidrBlock:     pulumi.String("172.25.16.0/20"),
		})
		if err != nil {
			return err
		}
		_, err = hcp.NewConsulCluster(ctx, "exampleConsulCluster", &hcp.ConsulClusterArgs{
			ClusterId: pulumi.String("consul-cluster"),
			HvnId:     exampleHvn.HvnId,
			Tier:      pulumi.String("development"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

The import ID is {cluster_id}

```sh

$ pulumi import hcp:index/consulCluster:ConsulCluster example consul-cluster

```

func GetConsulCluster

func GetConsulCluster(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *ConsulClusterState, opts ...pulumi.ResourceOption) (*ConsulCluster, error)

GetConsulCluster gets an existing ConsulCluster 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 NewConsulCluster

func NewConsulCluster(ctx *pulumi.Context,
	name string, args *ConsulClusterArgs, opts ...pulumi.ResourceOption) (*ConsulCluster, error)

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

func (*ConsulCluster) ElementType

func (*ConsulCluster) ElementType() reflect.Type

func (*ConsulCluster) ToConsulClusterOutput

func (i *ConsulCluster) ToConsulClusterOutput() ConsulClusterOutput

func (*ConsulCluster) ToConsulClusterOutputWithContext

func (i *ConsulCluster) ToConsulClusterOutputWithContext(ctx context.Context) ConsulClusterOutput

type ConsulClusterArgs

type ConsulClusterArgs struct {
	// Enables automatic HVN to HVN peering when creating a secondary cluster in a federation. The alternative to using the auto-accept feature is to create an `HvnPeeringConnection` resource that explicitly defines the HVN resources that are allowed to communicate with each other.
	AutoHvnToHvnPeering pulumi.BoolPtrInput
	// The ID of the HCP Consul cluster.
	ClusterId pulumi.StringInput
	// Denotes the Consul connect feature should be enabled for this cluster.  Default to true.
	ConnectEnabled pulumi.BoolPtrInput
	// The Consul data center name of the cluster. If not specified, it is defaulted to the value of `clusterId`.
	Datacenter pulumi.StringPtrInput
	// The ID of the HVN this HCP Consul cluster is associated to.
	HvnId pulumi.StringInput
	// The minimum Consul version of the cluster. If not specified, it is defaulted to the version that is currently recommended by HCP.
	MinConsulVersion pulumi.StringPtrInput
	// The `selfLink` of the HCP Consul cluster which is the primary in the federation setup with this HCP Consul cluster. If not specified, it is a standalone cluster.
	PrimaryLink pulumi.StringPtrInput
	// Denotes that the cluster has a public endpoint for the Consul UI. Defaults to false.
	PublicEndpoint pulumi.BoolPtrInput
	// The t-shirt size representation of each server VM that this Consul cluster is provisioned with. Valid option for development tier - `xSmall`. Valid options for other tiers - `small`, `medium`, `large`. For more details - https://cloud.hashicorp.com/pricing/consul. Upgrading the size of a cluster after creation is allowed.
	Size pulumi.StringPtrInput
	// The tier that the HCP Consul cluster will be provisioned as.  Only `development`, `standard` and `plus` are available at this time. See [pricing information](https://cloud.hashicorp.com/pricing/consul).
	Tier pulumi.StringInput
}

The set of arguments for constructing a ConsulCluster resource.

func (ConsulClusterArgs) ElementType

func (ConsulClusterArgs) ElementType() reflect.Type

type ConsulClusterArray

type ConsulClusterArray []ConsulClusterInput

func (ConsulClusterArray) ElementType

func (ConsulClusterArray) ElementType() reflect.Type

func (ConsulClusterArray) ToConsulClusterArrayOutput

func (i ConsulClusterArray) ToConsulClusterArrayOutput() ConsulClusterArrayOutput

func (ConsulClusterArray) ToConsulClusterArrayOutputWithContext

func (i ConsulClusterArray) ToConsulClusterArrayOutputWithContext(ctx context.Context) ConsulClusterArrayOutput

type ConsulClusterArrayInput

type ConsulClusterArrayInput interface {
	pulumi.Input

	ToConsulClusterArrayOutput() ConsulClusterArrayOutput
	ToConsulClusterArrayOutputWithContext(context.Context) ConsulClusterArrayOutput
}

ConsulClusterArrayInput is an input type that accepts ConsulClusterArray and ConsulClusterArrayOutput values. You can construct a concrete instance of `ConsulClusterArrayInput` via:

ConsulClusterArray{ ConsulClusterArgs{...} }

type ConsulClusterArrayOutput

type ConsulClusterArrayOutput struct{ *pulumi.OutputState }

func (ConsulClusterArrayOutput) ElementType

func (ConsulClusterArrayOutput) ElementType() reflect.Type

func (ConsulClusterArrayOutput) Index

func (ConsulClusterArrayOutput) ToConsulClusterArrayOutput

func (o ConsulClusterArrayOutput) ToConsulClusterArrayOutput() ConsulClusterArrayOutput

func (ConsulClusterArrayOutput) ToConsulClusterArrayOutputWithContext

func (o ConsulClusterArrayOutput) ToConsulClusterArrayOutputWithContext(ctx context.Context) ConsulClusterArrayOutput

type ConsulClusterInput

type ConsulClusterInput interface {
	pulumi.Input

	ToConsulClusterOutput() ConsulClusterOutput
	ToConsulClusterOutputWithContext(ctx context.Context) ConsulClusterOutput
}

type ConsulClusterMap

type ConsulClusterMap map[string]ConsulClusterInput

func (ConsulClusterMap) ElementType

func (ConsulClusterMap) ElementType() reflect.Type

func (ConsulClusterMap) ToConsulClusterMapOutput

func (i ConsulClusterMap) ToConsulClusterMapOutput() ConsulClusterMapOutput

func (ConsulClusterMap) ToConsulClusterMapOutputWithContext

func (i ConsulClusterMap) ToConsulClusterMapOutputWithContext(ctx context.Context) ConsulClusterMapOutput

type ConsulClusterMapInput

type ConsulClusterMapInput interface {
	pulumi.Input

	ToConsulClusterMapOutput() ConsulClusterMapOutput
	ToConsulClusterMapOutputWithContext(context.Context) ConsulClusterMapOutput
}

ConsulClusterMapInput is an input type that accepts ConsulClusterMap and ConsulClusterMapOutput values. You can construct a concrete instance of `ConsulClusterMapInput` via:

ConsulClusterMap{ "key": ConsulClusterArgs{...} }

type ConsulClusterMapOutput

type ConsulClusterMapOutput struct{ *pulumi.OutputState }

func (ConsulClusterMapOutput) ElementType

func (ConsulClusterMapOutput) ElementType() reflect.Type

func (ConsulClusterMapOutput) MapIndex

func (ConsulClusterMapOutput) ToConsulClusterMapOutput

func (o ConsulClusterMapOutput) ToConsulClusterMapOutput() ConsulClusterMapOutput

func (ConsulClusterMapOutput) ToConsulClusterMapOutputWithContext

func (o ConsulClusterMapOutput) ToConsulClusterMapOutputWithContext(ctx context.Context) ConsulClusterMapOutput

type ConsulClusterOutput

type ConsulClusterOutput struct{ *pulumi.OutputState }

func (ConsulClusterOutput) AutoHvnToHvnPeering added in v0.1.4

func (o ConsulClusterOutput) AutoHvnToHvnPeering() pulumi.BoolOutput

Enables automatic HVN to HVN peering when creating a secondary cluster in a federation. The alternative to using the auto-accept feature is to create an `HvnPeeringConnection` resource that explicitly defines the HVN resources that are allowed to communicate with each other.

func (ConsulClusterOutput) CloudProvider added in v0.1.4

func (o ConsulClusterOutput) CloudProvider() pulumi.StringOutput

The provider where the HCP Consul cluster is located.

func (ConsulClusterOutput) ClusterId added in v0.1.4

func (o ConsulClusterOutput) ClusterId() pulumi.StringOutput

The ID of the HCP Consul cluster.

func (ConsulClusterOutput) ConnectEnabled added in v0.1.4

func (o ConsulClusterOutput) ConnectEnabled() pulumi.BoolPtrOutput

Denotes the Consul connect feature should be enabled for this cluster. Default to true.

func (ConsulClusterOutput) ConsulAutomaticUpgrades added in v0.1.4

func (o ConsulClusterOutput) ConsulAutomaticUpgrades() pulumi.BoolOutput

Denotes that automatic Consul upgrades are enabled.

func (ConsulClusterOutput) ConsulCaFile added in v0.1.4

func (o ConsulClusterOutput) ConsulCaFile() pulumi.StringOutput

The cluster CA file encoded as a Base64 string.

func (ConsulClusterOutput) ConsulConfigFile added in v0.1.4

func (o ConsulClusterOutput) ConsulConfigFile() pulumi.StringOutput

The cluster config encoded as a Base64 string.

func (ConsulClusterOutput) ConsulPrivateEndpointUrl added in v0.1.4

func (o ConsulClusterOutput) ConsulPrivateEndpointUrl() pulumi.StringOutput

The private URL for the Consul UI.

func (ConsulClusterOutput) ConsulPublicEndpointUrl added in v0.1.4

func (o ConsulClusterOutput) ConsulPublicEndpointUrl() pulumi.StringOutput

The public URL for the Consul UI. This will be empty if `publicEndpoint` is `false`.

func (ConsulClusterOutput) ConsulRootTokenAccessorId added in v0.1.4

func (o ConsulClusterOutput) ConsulRootTokenAccessorId() pulumi.StringOutput

The accessor ID of the root ACL token that is generated upon cluster creation. If a new root token is generated using the `hcpConsulRootToken` resource, this field is no longer valid.

func (ConsulClusterOutput) ConsulRootTokenSecretId added in v0.1.4

func (o ConsulClusterOutput) ConsulRootTokenSecretId() pulumi.StringOutput

The secret ID of the root ACL token that is generated upon cluster creation. If a new root token is generated using the `hcpConsulRootToken` resource, this field is no longer valid.

func (ConsulClusterOutput) ConsulSnapshotInterval added in v0.1.4

func (o ConsulClusterOutput) ConsulSnapshotInterval() pulumi.StringOutput

The Consul snapshot interval.

func (ConsulClusterOutput) ConsulSnapshotRetention added in v0.1.4

func (o ConsulClusterOutput) ConsulSnapshotRetention() pulumi.StringOutput

The retention policy for Consul snapshots.

func (ConsulClusterOutput) ConsulVersion added in v0.1.4

func (o ConsulClusterOutput) ConsulVersion() pulumi.StringOutput

The Consul version of the cluster.

func (ConsulClusterOutput) Datacenter added in v0.1.4

func (o ConsulClusterOutput) Datacenter() pulumi.StringOutput

The Consul data center name of the cluster. If not specified, it is defaulted to the value of `clusterId`.

func (ConsulClusterOutput) ElementType

func (ConsulClusterOutput) ElementType() reflect.Type

func (ConsulClusterOutput) HvnId added in v0.1.4

The ID of the HVN this HCP Consul cluster is associated to.

func (ConsulClusterOutput) MinConsulVersion added in v0.1.4

func (o ConsulClusterOutput) MinConsulVersion() pulumi.StringPtrOutput

The minimum Consul version of the cluster. If not specified, it is defaulted to the version that is currently recommended by HCP.

func (ConsulClusterOutput) OrganizationId added in v0.1.4

func (o ConsulClusterOutput) OrganizationId() pulumi.StringOutput

The ID of the organization this HCP Consul cluster is located in.

func (o ConsulClusterOutput) PrimaryLink() pulumi.StringPtrOutput

The `selfLink` of the HCP Consul cluster which is the primary in the federation setup with this HCP Consul cluster. If not specified, it is a standalone cluster.

func (ConsulClusterOutput) ProjectId added in v0.1.4

func (o ConsulClusterOutput) ProjectId() pulumi.StringOutput

The ID of the project this HCP Consul cluster is located in.

func (ConsulClusterOutput) PublicEndpoint added in v0.1.4

func (o ConsulClusterOutput) PublicEndpoint() pulumi.BoolPtrOutput

Denotes that the cluster has a public endpoint for the Consul UI. Defaults to false.

func (ConsulClusterOutput) Region added in v0.1.4

The region where the HCP Consul cluster is located.

func (ConsulClusterOutput) Scale added in v0.1.4

The number of Consul server nodes in the cluster.

A unique URL identifying the HCP Consul cluster.

func (ConsulClusterOutput) Size added in v0.1.4

The t-shirt size representation of each server VM that this Consul cluster is provisioned with. Valid option for development tier - `xSmall`. Valid options for other tiers - `small`, `medium`, `large`. For more details - https://cloud.hashicorp.com/pricing/consul. Upgrading the size of a cluster after creation is allowed.

func (ConsulClusterOutput) State added in v0.1.10

The state of the HCP Consul cluster.

func (ConsulClusterOutput) Tier added in v0.1.4

The tier that the HCP Consul cluster will be provisioned as. Only `development`, `standard` and `plus` are available at this time. See [pricing information](https://cloud.hashicorp.com/pricing/consul).

func (ConsulClusterOutput) ToConsulClusterOutput

func (o ConsulClusterOutput) ToConsulClusterOutput() ConsulClusterOutput

func (ConsulClusterOutput) ToConsulClusterOutputWithContext

func (o ConsulClusterOutput) ToConsulClusterOutputWithContext(ctx context.Context) ConsulClusterOutput

type ConsulClusterRootToken

type ConsulClusterRootToken struct {
	pulumi.CustomResourceState

	// The accessor ID of the root ACL token.
	AccessorId pulumi.StringOutput `pulumi:"accessorId"`
	// The ID of the HCP Consul cluster.
	ClusterId pulumi.StringOutput `pulumi:"clusterId"`
	// The root ACL token Base64 encoded in a Kubernetes secret.
	KubernetesSecret pulumi.StringOutput `pulumi:"kubernetesSecret"`
	// The secret ID of the root ACL token.
	SecretId pulumi.StringOutput `pulumi:"secretId"`
}

## Example Usage

```go package main

import (

"github.com/grapl-security/pulumi-hcp/sdk/go/hcp"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := hcp.NewConsulClusterRootToken(ctx, "example", &hcp.ConsulClusterRootTokenArgs{
			ClusterId: pulumi.String("consul-cluster"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

func GetConsulClusterRootToken

func GetConsulClusterRootToken(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *ConsulClusterRootTokenState, opts ...pulumi.ResourceOption) (*ConsulClusterRootToken, error)

GetConsulClusterRootToken gets an existing ConsulClusterRootToken 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 NewConsulClusterRootToken

func NewConsulClusterRootToken(ctx *pulumi.Context,
	name string, args *ConsulClusterRootTokenArgs, opts ...pulumi.ResourceOption) (*ConsulClusterRootToken, error)

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

func (*ConsulClusterRootToken) ElementType

func (*ConsulClusterRootToken) ElementType() reflect.Type

func (*ConsulClusterRootToken) ToConsulClusterRootTokenOutput

func (i *ConsulClusterRootToken) ToConsulClusterRootTokenOutput() ConsulClusterRootTokenOutput

func (*ConsulClusterRootToken) ToConsulClusterRootTokenOutputWithContext

func (i *ConsulClusterRootToken) ToConsulClusterRootTokenOutputWithContext(ctx context.Context) ConsulClusterRootTokenOutput

type ConsulClusterRootTokenArgs

type ConsulClusterRootTokenArgs struct {
	// The ID of the HCP Consul cluster.
	ClusterId pulumi.StringInput
}

The set of arguments for constructing a ConsulClusterRootToken resource.

func (ConsulClusterRootTokenArgs) ElementType

func (ConsulClusterRootTokenArgs) ElementType() reflect.Type

type ConsulClusterRootTokenArray

type ConsulClusterRootTokenArray []ConsulClusterRootTokenInput

func (ConsulClusterRootTokenArray) ElementType

func (ConsulClusterRootTokenArray) ToConsulClusterRootTokenArrayOutput

func (i ConsulClusterRootTokenArray) ToConsulClusterRootTokenArrayOutput() ConsulClusterRootTokenArrayOutput

func (ConsulClusterRootTokenArray) ToConsulClusterRootTokenArrayOutputWithContext

func (i ConsulClusterRootTokenArray) ToConsulClusterRootTokenArrayOutputWithContext(ctx context.Context) ConsulClusterRootTokenArrayOutput

type ConsulClusterRootTokenArrayInput

type ConsulClusterRootTokenArrayInput interface {
	pulumi.Input

	ToConsulClusterRootTokenArrayOutput() ConsulClusterRootTokenArrayOutput
	ToConsulClusterRootTokenArrayOutputWithContext(context.Context) ConsulClusterRootTokenArrayOutput
}

ConsulClusterRootTokenArrayInput is an input type that accepts ConsulClusterRootTokenArray and ConsulClusterRootTokenArrayOutput values. You can construct a concrete instance of `ConsulClusterRootTokenArrayInput` via:

ConsulClusterRootTokenArray{ ConsulClusterRootTokenArgs{...} }

type ConsulClusterRootTokenArrayOutput

type ConsulClusterRootTokenArrayOutput struct{ *pulumi.OutputState }

func (ConsulClusterRootTokenArrayOutput) ElementType

func (ConsulClusterRootTokenArrayOutput) Index

func (ConsulClusterRootTokenArrayOutput) ToConsulClusterRootTokenArrayOutput

func (o ConsulClusterRootTokenArrayOutput) ToConsulClusterRootTokenArrayOutput() ConsulClusterRootTokenArrayOutput

func (ConsulClusterRootTokenArrayOutput) ToConsulClusterRootTokenArrayOutputWithContext

func (o ConsulClusterRootTokenArrayOutput) ToConsulClusterRootTokenArrayOutputWithContext(ctx context.Context) ConsulClusterRootTokenArrayOutput

type ConsulClusterRootTokenInput

type ConsulClusterRootTokenInput interface {
	pulumi.Input

	ToConsulClusterRootTokenOutput() ConsulClusterRootTokenOutput
	ToConsulClusterRootTokenOutputWithContext(ctx context.Context) ConsulClusterRootTokenOutput
}

type ConsulClusterRootTokenMap

type ConsulClusterRootTokenMap map[string]ConsulClusterRootTokenInput

func (ConsulClusterRootTokenMap) ElementType

func (ConsulClusterRootTokenMap) ElementType() reflect.Type

func (ConsulClusterRootTokenMap) ToConsulClusterRootTokenMapOutput

func (i ConsulClusterRootTokenMap) ToConsulClusterRootTokenMapOutput() ConsulClusterRootTokenMapOutput

func (ConsulClusterRootTokenMap) ToConsulClusterRootTokenMapOutputWithContext

func (i ConsulClusterRootTokenMap) ToConsulClusterRootTokenMapOutputWithContext(ctx context.Context) ConsulClusterRootTokenMapOutput

type ConsulClusterRootTokenMapInput

type ConsulClusterRootTokenMapInput interface {
	pulumi.Input

	ToConsulClusterRootTokenMapOutput() ConsulClusterRootTokenMapOutput
	ToConsulClusterRootTokenMapOutputWithContext(context.Context) ConsulClusterRootTokenMapOutput
}

ConsulClusterRootTokenMapInput is an input type that accepts ConsulClusterRootTokenMap and ConsulClusterRootTokenMapOutput values. You can construct a concrete instance of `ConsulClusterRootTokenMapInput` via:

ConsulClusterRootTokenMap{ "key": ConsulClusterRootTokenArgs{...} }

type ConsulClusterRootTokenMapOutput

type ConsulClusterRootTokenMapOutput struct{ *pulumi.OutputState }

func (ConsulClusterRootTokenMapOutput) ElementType

func (ConsulClusterRootTokenMapOutput) MapIndex

func (ConsulClusterRootTokenMapOutput) ToConsulClusterRootTokenMapOutput

func (o ConsulClusterRootTokenMapOutput) ToConsulClusterRootTokenMapOutput() ConsulClusterRootTokenMapOutput

func (ConsulClusterRootTokenMapOutput) ToConsulClusterRootTokenMapOutputWithContext

func (o ConsulClusterRootTokenMapOutput) ToConsulClusterRootTokenMapOutputWithContext(ctx context.Context) ConsulClusterRootTokenMapOutput

type ConsulClusterRootTokenOutput

type ConsulClusterRootTokenOutput struct{ *pulumi.OutputState }

func (ConsulClusterRootTokenOutput) AccessorId added in v0.1.4

The accessor ID of the root ACL token.

func (ConsulClusterRootTokenOutput) ClusterId added in v0.1.4

The ID of the HCP Consul cluster.

func (ConsulClusterRootTokenOutput) ElementType

func (ConsulClusterRootTokenOutput) KubernetesSecret added in v0.1.4

func (o ConsulClusterRootTokenOutput) KubernetesSecret() pulumi.StringOutput

The root ACL token Base64 encoded in a Kubernetes secret.

func (ConsulClusterRootTokenOutput) SecretId added in v0.1.4

The secret ID of the root ACL token.

func (ConsulClusterRootTokenOutput) ToConsulClusterRootTokenOutput

func (o ConsulClusterRootTokenOutput) ToConsulClusterRootTokenOutput() ConsulClusterRootTokenOutput

func (ConsulClusterRootTokenOutput) ToConsulClusterRootTokenOutputWithContext

func (o ConsulClusterRootTokenOutput) ToConsulClusterRootTokenOutputWithContext(ctx context.Context) ConsulClusterRootTokenOutput

type ConsulClusterRootTokenState

type ConsulClusterRootTokenState struct {
	// The accessor ID of the root ACL token.
	AccessorId pulumi.StringPtrInput
	// The ID of the HCP Consul cluster.
	ClusterId pulumi.StringPtrInput
	// The root ACL token Base64 encoded in a Kubernetes secret.
	KubernetesSecret pulumi.StringPtrInput
	// The secret ID of the root ACL token.
	SecretId pulumi.StringPtrInput
}

func (ConsulClusterRootTokenState) ElementType

type ConsulClusterState

type ConsulClusterState struct {
	// Enables automatic HVN to HVN peering when creating a secondary cluster in a federation. The alternative to using the auto-accept feature is to create an `HvnPeeringConnection` resource that explicitly defines the HVN resources that are allowed to communicate with each other.
	AutoHvnToHvnPeering pulumi.BoolPtrInput
	// The provider where the HCP Consul cluster is located.
	CloudProvider pulumi.StringPtrInput
	// The ID of the HCP Consul cluster.
	ClusterId pulumi.StringPtrInput
	// Denotes the Consul connect feature should be enabled for this cluster.  Default to true.
	ConnectEnabled pulumi.BoolPtrInput
	// Denotes that automatic Consul upgrades are enabled.
	ConsulAutomaticUpgrades pulumi.BoolPtrInput
	// The cluster CA file encoded as a Base64 string.
	ConsulCaFile pulumi.StringPtrInput
	// The cluster config encoded as a Base64 string.
	ConsulConfigFile pulumi.StringPtrInput
	// The private URL for the Consul UI.
	ConsulPrivateEndpointUrl pulumi.StringPtrInput
	// The public URL for the Consul UI. This will be empty if `publicEndpoint` is `false`.
	ConsulPublicEndpointUrl pulumi.StringPtrInput
	// The accessor ID of the root ACL token that is generated upon cluster creation. If a new root token is generated using the `hcpConsulRootToken` resource, this field is no longer valid.
	ConsulRootTokenAccessorId pulumi.StringPtrInput
	// The secret ID of the root ACL token that is generated upon cluster creation. If a new root token is generated using the `hcpConsulRootToken` resource, this field is no longer valid.
	ConsulRootTokenSecretId pulumi.StringPtrInput
	// The Consul snapshot interval.
	ConsulSnapshotInterval pulumi.StringPtrInput
	// The retention policy for Consul snapshots.
	ConsulSnapshotRetention pulumi.StringPtrInput
	// The Consul version of the cluster.
	ConsulVersion pulumi.StringPtrInput
	// The Consul data center name of the cluster. If not specified, it is defaulted to the value of `clusterId`.
	Datacenter pulumi.StringPtrInput
	// The ID of the HVN this HCP Consul cluster is associated to.
	HvnId pulumi.StringPtrInput
	// The minimum Consul version of the cluster. If not specified, it is defaulted to the version that is currently recommended by HCP.
	MinConsulVersion pulumi.StringPtrInput
	// The ID of the organization this HCP Consul cluster is located in.
	OrganizationId pulumi.StringPtrInput
	// The `selfLink` of the HCP Consul cluster which is the primary in the federation setup with this HCP Consul cluster. If not specified, it is a standalone cluster.
	PrimaryLink pulumi.StringPtrInput
	// The ID of the project this HCP Consul cluster is located in.
	ProjectId pulumi.StringPtrInput
	// Denotes that the cluster has a public endpoint for the Consul UI. Defaults to false.
	PublicEndpoint pulumi.BoolPtrInput
	// The region where the HCP Consul cluster is located.
	Region pulumi.StringPtrInput
	// The number of Consul server nodes in the cluster.
	Scale pulumi.IntPtrInput
	// A unique URL identifying the HCP Consul cluster.
	SelfLink pulumi.StringPtrInput
	// The t-shirt size representation of each server VM that this Consul cluster is provisioned with. Valid option for development tier - `xSmall`. Valid options for other tiers - `small`, `medium`, `large`. For more details - https://cloud.hashicorp.com/pricing/consul. Upgrading the size of a cluster after creation is allowed.
	Size pulumi.StringPtrInput
	// The state of the HCP Consul cluster.
	State pulumi.StringPtrInput
	// The tier that the HCP Consul cluster will be provisioned as.  Only `development`, `standard` and `plus` are available at this time. See [pricing information](https://cloud.hashicorp.com/pricing/consul).
	Tier pulumi.StringPtrInput
}

func (ConsulClusterState) ElementType

func (ConsulClusterState) ElementType() reflect.Type

type ConsulSnapshot

type ConsulSnapshot struct {
	pulumi.CustomResourceState

	// The ID of the HCP Consul cluster.
	ClusterId pulumi.StringOutput `pulumi:"clusterId"`
	// The version of Consul at the time of snapshot creation.
	ConsulVersion pulumi.StringOutput `pulumi:"consulVersion"`
	// The ID of the HCP organization where the project the HCP Consul cluster is located.
	OrganizationId pulumi.StringOutput `pulumi:"organizationId"`
	// The ID of the project the HCP Consul cluster is located.
	ProjectId pulumi.StringOutput `pulumi:"projectId"`
	// Timestamp of when the snapshot was restored. If the snapshot has not been restored, this field will be blank.
	RestoredAt pulumi.StringOutput `pulumi:"restoredAt"`
	// The size of the snapshot in bytes.
	Size pulumi.IntOutput `pulumi:"size"`
	// The ID of the Consul snapshot
	SnapshotId pulumi.StringOutput `pulumi:"snapshotId"`
	// The name of the snapshot.
	SnapshotName pulumi.StringOutput `pulumi:"snapshotName"`
	// The state of an HCP Consul snapshot.
	State pulumi.StringOutput `pulumi:"state"`
}

The Consul snapshot resource allows users to manage Consul snapshots of an HCP Consul cluster. Snapshots currently have a retention policy of 30 days.

## Example Usage

```go package main

import (

"github.com/grapl-security/pulumi-hcp/sdk/go/hcp"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := hcp.NewConsulSnapshot(ctx, "example", &hcp.ConsulSnapshotArgs{
			ClusterId:    pulumi.String("consul-cluster"),
			SnapshotName: pulumi.String("my-snapshot"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

func GetConsulSnapshot

func GetConsulSnapshot(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *ConsulSnapshotState, opts ...pulumi.ResourceOption) (*ConsulSnapshot, error)

GetConsulSnapshot gets an existing ConsulSnapshot 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 NewConsulSnapshot

func NewConsulSnapshot(ctx *pulumi.Context,
	name string, args *ConsulSnapshotArgs, opts ...pulumi.ResourceOption) (*ConsulSnapshot, error)

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

func (*ConsulSnapshot) ElementType

func (*ConsulSnapshot) ElementType() reflect.Type

func (*ConsulSnapshot) ToConsulSnapshotOutput

func (i *ConsulSnapshot) ToConsulSnapshotOutput() ConsulSnapshotOutput

func (*ConsulSnapshot) ToConsulSnapshotOutputWithContext

func (i *ConsulSnapshot) ToConsulSnapshotOutputWithContext(ctx context.Context) ConsulSnapshotOutput

type ConsulSnapshotArgs

type ConsulSnapshotArgs struct {
	// The ID of the HCP Consul cluster.
	ClusterId pulumi.StringInput
	// The name of the snapshot.
	SnapshotName pulumi.StringInput
}

The set of arguments for constructing a ConsulSnapshot resource.

func (ConsulSnapshotArgs) ElementType

func (ConsulSnapshotArgs) ElementType() reflect.Type

type ConsulSnapshotArray

type ConsulSnapshotArray []ConsulSnapshotInput

func (ConsulSnapshotArray) ElementType

func (ConsulSnapshotArray) ElementType() reflect.Type

func (ConsulSnapshotArray) ToConsulSnapshotArrayOutput

func (i ConsulSnapshotArray) ToConsulSnapshotArrayOutput() ConsulSnapshotArrayOutput

func (ConsulSnapshotArray) ToConsulSnapshotArrayOutputWithContext

func (i ConsulSnapshotArray) ToConsulSnapshotArrayOutputWithContext(ctx context.Context) ConsulSnapshotArrayOutput

type ConsulSnapshotArrayInput

type ConsulSnapshotArrayInput interface {
	pulumi.Input

	ToConsulSnapshotArrayOutput() ConsulSnapshotArrayOutput
	ToConsulSnapshotArrayOutputWithContext(context.Context) ConsulSnapshotArrayOutput
}

ConsulSnapshotArrayInput is an input type that accepts ConsulSnapshotArray and ConsulSnapshotArrayOutput values. You can construct a concrete instance of `ConsulSnapshotArrayInput` via:

ConsulSnapshotArray{ ConsulSnapshotArgs{...} }

type ConsulSnapshotArrayOutput

type ConsulSnapshotArrayOutput struct{ *pulumi.OutputState }

func (ConsulSnapshotArrayOutput) ElementType

func (ConsulSnapshotArrayOutput) ElementType() reflect.Type

func (ConsulSnapshotArrayOutput) Index

func (ConsulSnapshotArrayOutput) ToConsulSnapshotArrayOutput

func (o ConsulSnapshotArrayOutput) ToConsulSnapshotArrayOutput() ConsulSnapshotArrayOutput

func (ConsulSnapshotArrayOutput) ToConsulSnapshotArrayOutputWithContext

func (o ConsulSnapshotArrayOutput) ToConsulSnapshotArrayOutputWithContext(ctx context.Context) ConsulSnapshotArrayOutput

type ConsulSnapshotInput

type ConsulSnapshotInput interface {
	pulumi.Input

	ToConsulSnapshotOutput() ConsulSnapshotOutput
	ToConsulSnapshotOutputWithContext(ctx context.Context) ConsulSnapshotOutput
}

type ConsulSnapshotMap

type ConsulSnapshotMap map[string]ConsulSnapshotInput

func (ConsulSnapshotMap) ElementType

func (ConsulSnapshotMap) ElementType() reflect.Type

func (ConsulSnapshotMap) ToConsulSnapshotMapOutput

func (i ConsulSnapshotMap) ToConsulSnapshotMapOutput() ConsulSnapshotMapOutput

func (ConsulSnapshotMap) ToConsulSnapshotMapOutputWithContext

func (i ConsulSnapshotMap) ToConsulSnapshotMapOutputWithContext(ctx context.Context) ConsulSnapshotMapOutput

type ConsulSnapshotMapInput

type ConsulSnapshotMapInput interface {
	pulumi.Input

	ToConsulSnapshotMapOutput() ConsulSnapshotMapOutput
	ToConsulSnapshotMapOutputWithContext(context.Context) ConsulSnapshotMapOutput
}

ConsulSnapshotMapInput is an input type that accepts ConsulSnapshotMap and ConsulSnapshotMapOutput values. You can construct a concrete instance of `ConsulSnapshotMapInput` via:

ConsulSnapshotMap{ "key": ConsulSnapshotArgs{...} }

type ConsulSnapshotMapOutput

type ConsulSnapshotMapOutput struct{ *pulumi.OutputState }

func (ConsulSnapshotMapOutput) ElementType

func (ConsulSnapshotMapOutput) ElementType() reflect.Type

func (ConsulSnapshotMapOutput) MapIndex

func (ConsulSnapshotMapOutput) ToConsulSnapshotMapOutput

func (o ConsulSnapshotMapOutput) ToConsulSnapshotMapOutput() ConsulSnapshotMapOutput

func (ConsulSnapshotMapOutput) ToConsulSnapshotMapOutputWithContext

func (o ConsulSnapshotMapOutput) ToConsulSnapshotMapOutputWithContext(ctx context.Context) ConsulSnapshotMapOutput

type ConsulSnapshotOutput

type ConsulSnapshotOutput struct{ *pulumi.OutputState }

func (ConsulSnapshotOutput) ClusterId added in v0.1.4

The ID of the HCP Consul cluster.

func (ConsulSnapshotOutput) ConsulVersion added in v0.1.4

func (o ConsulSnapshotOutput) ConsulVersion() pulumi.StringOutput

The version of Consul at the time of snapshot creation.

func (ConsulSnapshotOutput) ElementType

func (ConsulSnapshotOutput) ElementType() reflect.Type

func (ConsulSnapshotOutput) OrganizationId added in v0.1.4

func (o ConsulSnapshotOutput) OrganizationId() pulumi.StringOutput

The ID of the HCP organization where the project the HCP Consul cluster is located.

func (ConsulSnapshotOutput) ProjectId added in v0.1.4

The ID of the project the HCP Consul cluster is located.

func (ConsulSnapshotOutput) RestoredAt added in v0.1.4

func (o ConsulSnapshotOutput) RestoredAt() pulumi.StringOutput

Timestamp of when the snapshot was restored. If the snapshot has not been restored, this field will be blank.

func (ConsulSnapshotOutput) Size added in v0.1.4

The size of the snapshot in bytes.

func (ConsulSnapshotOutput) SnapshotId added in v0.1.4

func (o ConsulSnapshotOutput) SnapshotId() pulumi.StringOutput

The ID of the Consul snapshot

func (ConsulSnapshotOutput) SnapshotName added in v0.1.4

func (o ConsulSnapshotOutput) SnapshotName() pulumi.StringOutput

The name of the snapshot.

func (ConsulSnapshotOutput) State added in v0.1.10

The state of an HCP Consul snapshot.

func (ConsulSnapshotOutput) ToConsulSnapshotOutput

func (o ConsulSnapshotOutput) ToConsulSnapshotOutput() ConsulSnapshotOutput

func (ConsulSnapshotOutput) ToConsulSnapshotOutputWithContext

func (o ConsulSnapshotOutput) ToConsulSnapshotOutputWithContext(ctx context.Context) ConsulSnapshotOutput

type ConsulSnapshotState

type ConsulSnapshotState struct {
	// The ID of the HCP Consul cluster.
	ClusterId pulumi.StringPtrInput
	// The version of Consul at the time of snapshot creation.
	ConsulVersion pulumi.StringPtrInput
	// The ID of the HCP organization where the project the HCP Consul cluster is located.
	OrganizationId pulumi.StringPtrInput
	// The ID of the project the HCP Consul cluster is located.
	ProjectId pulumi.StringPtrInput
	// Timestamp of when the snapshot was restored. If the snapshot has not been restored, this field will be blank.
	RestoredAt pulumi.StringPtrInput
	// The size of the snapshot in bytes.
	Size pulumi.IntPtrInput
	// The ID of the Consul snapshot
	SnapshotId pulumi.StringPtrInput
	// The name of the snapshot.
	SnapshotName pulumi.StringPtrInput
	// The state of an HCP Consul snapshot.
	State pulumi.StringPtrInput
}

func (ConsulSnapshotState) ElementType

func (ConsulSnapshotState) ElementType() reflect.Type

type GetConsulAgentHelmConfigArgs

type GetConsulAgentHelmConfigArgs struct {
	// The ID of the HCP Consul cluster.
	ClusterId string `pulumi:"clusterId"`
	// Denotes that the gossip ports should be exposed.
	ExposeGossipPorts *bool `pulumi:"exposeGossipPorts"`
	// The FQDN for the Kubernetes API.
	KubernetesEndpoint string `pulumi:"kubernetesEndpoint"`
}

A collection of arguments for invoking getConsulAgentHelmConfig.

type GetConsulAgentHelmConfigOutputArgs

type GetConsulAgentHelmConfigOutputArgs struct {
	// The ID of the HCP Consul cluster.
	ClusterId pulumi.StringInput `pulumi:"clusterId"`
	// Denotes that the gossip ports should be exposed.
	ExposeGossipPorts pulumi.BoolPtrInput `pulumi:"exposeGossipPorts"`
	// The FQDN for the Kubernetes API.
	KubernetesEndpoint pulumi.StringInput `pulumi:"kubernetesEndpoint"`
}

A collection of arguments for invoking getConsulAgentHelmConfig.

func (GetConsulAgentHelmConfigOutputArgs) ElementType

type GetConsulAgentHelmConfigResult

type GetConsulAgentHelmConfigResult struct {
	// The ID of the HCP Consul cluster.
	ClusterId string `pulumi:"clusterId"`
	// The agent Helm config.
	Config string `pulumi:"config"`
	// Denotes that the gossip ports should be exposed.
	ExposeGossipPorts *bool `pulumi:"exposeGossipPorts"`
	// The provider-assigned unique ID for this managed resource.
	Id string `pulumi:"id"`
	// The FQDN for the Kubernetes API.
	KubernetesEndpoint string `pulumi:"kubernetesEndpoint"`
}

A collection of values returned by getConsulAgentHelmConfig.

func GetConsulAgentHelmConfig

func GetConsulAgentHelmConfig(ctx *pulumi.Context, args *GetConsulAgentHelmConfigArgs, opts ...pulumi.InvokeOption) (*GetConsulAgentHelmConfigResult, error)

The Consul agent Helm config data source provides Helm values for a Consul agent running in Kubernetes.

## Example Usage

```go package main

import (

"github.com/grapl-security/pulumi-hcp/sdk/go/hcp"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := hcp.GetConsulAgentHelmConfig(ctx, &GetConsulAgentHelmConfigArgs{
			ClusterId:          _var.Cluster_id,
			KubernetesEndpoint: _var.Kubernetes_endpoint,
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

```

type GetConsulAgentHelmConfigResultOutput

type GetConsulAgentHelmConfigResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getConsulAgentHelmConfig.

func (GetConsulAgentHelmConfigResultOutput) ClusterId

The ID of the HCP Consul cluster.

func (GetConsulAgentHelmConfigResultOutput) Config

The agent Helm config.

func (GetConsulAgentHelmConfigResultOutput) ElementType

func (GetConsulAgentHelmConfigResultOutput) ExposeGossipPorts

Denotes that the gossip ports should be exposed.

func (GetConsulAgentHelmConfigResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (GetConsulAgentHelmConfigResultOutput) KubernetesEndpoint

The FQDN for the Kubernetes API.

func (GetConsulAgentHelmConfigResultOutput) ToGetConsulAgentHelmConfigResultOutput

func (o GetConsulAgentHelmConfigResultOutput) ToGetConsulAgentHelmConfigResultOutput() GetConsulAgentHelmConfigResultOutput

func (GetConsulAgentHelmConfigResultOutput) ToGetConsulAgentHelmConfigResultOutputWithContext

func (o GetConsulAgentHelmConfigResultOutput) ToGetConsulAgentHelmConfigResultOutputWithContext(ctx context.Context) GetConsulAgentHelmConfigResultOutput

type GetConsulAgentKubernetesSecretArgs

type GetConsulAgentKubernetesSecretArgs struct {
	// The ID of the HCP Consul cluster.
	ClusterId string `pulumi:"clusterId"`
}

A collection of arguments for invoking getConsulAgentKubernetesSecret.

type GetConsulAgentKubernetesSecretOutputArgs

type GetConsulAgentKubernetesSecretOutputArgs struct {
	// The ID of the HCP Consul cluster.
	ClusterId pulumi.StringInput `pulumi:"clusterId"`
}

A collection of arguments for invoking getConsulAgentKubernetesSecret.

func (GetConsulAgentKubernetesSecretOutputArgs) ElementType

type GetConsulAgentKubernetesSecretResult

type GetConsulAgentKubernetesSecretResult struct {
	// The ID of the HCP Consul cluster.
	ClusterId string `pulumi:"clusterId"`
	// The provider-assigned unique ID for this managed resource.
	Id string `pulumi:"id"`
	// The Consul agent configuration in the format of a Kubernetes secret (YAML).
	Secret string `pulumi:"secret"`
}

A collection of values returned by getConsulAgentKubernetesSecret.

func GetConsulAgentKubernetesSecret

The agent config Kubernetes secret data source provides Consul agents running in Kubernetes the configuration needed to connect to the Consul cluster.

## Example Usage

```go package main

import (

"github.com/grapl-security/pulumi-hcp/sdk/go/hcp"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := hcp.GetConsulAgentKubernetesSecret(ctx, &GetConsulAgentKubernetesSecretArgs{
			ClusterId: _var.Cluster_id,
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

```

type GetConsulAgentKubernetesSecretResultOutput

type GetConsulAgentKubernetesSecretResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getConsulAgentKubernetesSecret.

func (GetConsulAgentKubernetesSecretResultOutput) ClusterId

The ID of the HCP Consul cluster.

func (GetConsulAgentKubernetesSecretResultOutput) ElementType

func (GetConsulAgentKubernetesSecretResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (GetConsulAgentKubernetesSecretResultOutput) Secret

The Consul agent configuration in the format of a Kubernetes secret (YAML).

func (GetConsulAgentKubernetesSecretResultOutput) ToGetConsulAgentKubernetesSecretResultOutput

func (o GetConsulAgentKubernetesSecretResultOutput) ToGetConsulAgentKubernetesSecretResultOutput() GetConsulAgentKubernetesSecretResultOutput

func (GetConsulAgentKubernetesSecretResultOutput) ToGetConsulAgentKubernetesSecretResultOutputWithContext

func (o GetConsulAgentKubernetesSecretResultOutput) ToGetConsulAgentKubernetesSecretResultOutputWithContext(ctx context.Context) GetConsulAgentKubernetesSecretResultOutput

type GetConsulVersionsResult

type GetConsulVersionsResult struct {
	// The Consul versions available on HCP.
	Availables []string `pulumi:"availables"`
	// The provider-assigned unique ID for this managed resource.
	Id string `pulumi:"id"`
	// The preview versions of Consul available on HCP.
	Previews []string `pulumi:"previews"`
	// The recommended Consul version for HCP clusters.
	Recommended string `pulumi:"recommended"`
}

A collection of values returned by getConsulVersions.

func GetConsulVersions

func GetConsulVersions(ctx *pulumi.Context, opts ...pulumi.InvokeOption) (*GetConsulVersionsResult, error)

The Consul versions data source provides the Consul versions supported by HCP.

## Example Usage

```go package main

import (

"github.com/grapl-security/pulumi-hcp/sdk/go/hcp"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := hcp.GetConsulVersions(ctx, nil, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

```

type GetPackerImageArgs

type GetPackerImageArgs struct {
	// The slug of the HCP Packer Registry image bucket to pull from.
	BucketName string `pulumi:"bucketName"`
	// The channel that points to the version of the image being retrieved. Either this or `iterationId` must be specified. Note: will incur a billable request
	Channel *string `pulumi:"channel"`
	// Name of the cloud provider this image is stored-in.
	CloudProvider string `pulumi:"cloudProvider"`
	// Name of the builder that built this image. Ex: `amazon-ebs.example`.
	ComponentType *string `pulumi:"componentType"`
	// The iteration from which to get the image. Either this or `channel` must be specified.
	IterationId *string `pulumi:"iterationId"`
	// Region this image is stored in, if any.
	Region string `pulumi:"region"`
}

A collection of arguments for invoking getPackerImage.

type GetPackerImageIterationArgs

type GetPackerImageIterationArgs struct {
	// The slug of the HCP Packer Registry image bucket to pull from.
	BucketName string `pulumi:"bucketName"`
	// The channel that points to the version of the image you want.
	Channel string `pulumi:"channel"`
}

A collection of arguments for invoking getPackerImageIteration.

type GetPackerImageIterationBuild

type GetPackerImageIterationBuild struct {
	// Name of the cloud provider this image is stored-in, if any.
	CloudProvider string `pulumi:"cloudProvider"`
	// Name of the builder that built this. Ex: 'amazon-ebs.example'.
	ComponentType string `pulumi:"componentType"`
	// Creation time of this build.
	CreatedAt string `pulumi:"createdAt"`
	// HCP ID of this build.
	Id     string                              `pulumi:"id"`
	Images []GetPackerImageIterationBuildImage `pulumi:"images"`
	// Labels for this build.
	Labels map[string]string `pulumi:"labels"`
	// Packer generated UUID of this build.
	PackerRunUuid string `pulumi:"packerRunUuid"`
	// Status of this build. DONE means that all images tied to this build were successfully built.
	Status string `pulumi:"status"`
	// Time this build was last updated.
	UpdatedAt string `pulumi:"updatedAt"`
}

type GetPackerImageIterationBuildArgs

type GetPackerImageIterationBuildArgs struct {
	// Name of the cloud provider this image is stored-in, if any.
	CloudProvider pulumi.StringInput `pulumi:"cloudProvider"`
	// Name of the builder that built this. Ex: 'amazon-ebs.example'.
	ComponentType pulumi.StringInput `pulumi:"componentType"`
	// Creation time of this build.
	CreatedAt pulumi.StringInput `pulumi:"createdAt"`
	// HCP ID of this build.
	Id     pulumi.StringInput                          `pulumi:"id"`
	Images GetPackerImageIterationBuildImageArrayInput `pulumi:"images"`
	// Labels for this build.
	Labels pulumi.StringMapInput `pulumi:"labels"`
	// Packer generated UUID of this build.
	PackerRunUuid pulumi.StringInput `pulumi:"packerRunUuid"`
	// Status of this build. DONE means that all images tied to this build were successfully built.
	Status pulumi.StringInput `pulumi:"status"`
	// Time this build was last updated.
	UpdatedAt pulumi.StringInput `pulumi:"updatedAt"`
}

func (GetPackerImageIterationBuildArgs) ElementType

func (GetPackerImageIterationBuildArgs) ToGetPackerImageIterationBuildOutput

func (i GetPackerImageIterationBuildArgs) ToGetPackerImageIterationBuildOutput() GetPackerImageIterationBuildOutput

func (GetPackerImageIterationBuildArgs) ToGetPackerImageIterationBuildOutputWithContext

func (i GetPackerImageIterationBuildArgs) ToGetPackerImageIterationBuildOutputWithContext(ctx context.Context) GetPackerImageIterationBuildOutput

type GetPackerImageIterationBuildArray

type GetPackerImageIterationBuildArray []GetPackerImageIterationBuildInput

func (GetPackerImageIterationBuildArray) ElementType

func (GetPackerImageIterationBuildArray) ToGetPackerImageIterationBuildArrayOutput

func (i GetPackerImageIterationBuildArray) ToGetPackerImageIterationBuildArrayOutput() GetPackerImageIterationBuildArrayOutput

func (GetPackerImageIterationBuildArray) ToGetPackerImageIterationBuildArrayOutputWithContext

func (i GetPackerImageIterationBuildArray) ToGetPackerImageIterationBuildArrayOutputWithContext(ctx context.Context) GetPackerImageIterationBuildArrayOutput

type GetPackerImageIterationBuildArrayInput

type GetPackerImageIterationBuildArrayInput interface {
	pulumi.Input

	ToGetPackerImageIterationBuildArrayOutput() GetPackerImageIterationBuildArrayOutput
	ToGetPackerImageIterationBuildArrayOutputWithContext(context.Context) GetPackerImageIterationBuildArrayOutput
}

GetPackerImageIterationBuildArrayInput is an input type that accepts GetPackerImageIterationBuildArray and GetPackerImageIterationBuildArrayOutput values. You can construct a concrete instance of `GetPackerImageIterationBuildArrayInput` via:

GetPackerImageIterationBuildArray{ GetPackerImageIterationBuildArgs{...} }

type GetPackerImageIterationBuildArrayOutput

type GetPackerImageIterationBuildArrayOutput struct{ *pulumi.OutputState }

func (GetPackerImageIterationBuildArrayOutput) ElementType

func (GetPackerImageIterationBuildArrayOutput) Index

func (GetPackerImageIterationBuildArrayOutput) ToGetPackerImageIterationBuildArrayOutput

func (o GetPackerImageIterationBuildArrayOutput) ToGetPackerImageIterationBuildArrayOutput() GetPackerImageIterationBuildArrayOutput

func (GetPackerImageIterationBuildArrayOutput) ToGetPackerImageIterationBuildArrayOutputWithContext

func (o GetPackerImageIterationBuildArrayOutput) ToGetPackerImageIterationBuildArrayOutputWithContext(ctx context.Context) GetPackerImageIterationBuildArrayOutput

type