clients

package
v0.35.0 Latest Latest
Warning

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

Go to latest
Published: Jul 7, 2022 License: MPL-2.0 Imports: 31 Imported by: 0

Documentation

Index

Constants

View Source
const (
	// HvnRouteStateCreating is the CREATING state of an HVN route
	HvnRouteStateCreating = string(networkmodels.HashicorpCloudNetwork20200907HVNRouteStateCREATING)

	// HvnRouteStateActive is the ACTIVE state of an HVN route
	HvnRouteStateActive = string(networkmodels.HashicorpCloudNetwork20200907HVNRouteStateACTIVE)

	// HvnRouteStatePending is the PENDING state of an HVN route
	HvnRouteStatePending = string(networkmodels.HashicorpCloudNetwork20200907HVNRouteStatePENDING)
)
View Source
const (
	// PeeringStateCreating is the CREATING state of a peering connection
	PeeringStateCreating = string(networkmodels.HashicorpCloudNetwork20200907PeeringStateCREATING)

	// PeeringStatePendingAcceptance is the PENDING_ACCEPTANCE state of a peering connection
	PeeringStatePendingAcceptance = string(networkmodels.HashicorpCloudNetwork20200907PeeringStatePENDINGACCEPTANCE)

	// PeeringStateAccepted is the ACCEPTED state of a peering connection
	PeeringStateAccepted = string(networkmodels.HashicorpCloudNetwork20200907PeeringStateACCEPTED)

	// PeeringStateActive is the ACTIVE state of a peering connection
	PeeringStateActive = string(networkmodels.HashicorpCloudNetwork20200907PeeringStateACTIVE)
)
View Source
const (
	// TgwAttachmentStateCreating is the CREATING state of a TGW attachment
	TgwAttachmentStateCreating = string(networkmodels.HashicorpCloudNetwork20200907TGWAttachmentStateCREATING)

	// TgwAttachmentStatePendingAcceptance is the PENDING_ACCEPTANCE state of a TGW attachment
	TgwAttachmentStatePendingAcceptance = string(networkmodels.HashicorpCloudNetwork20200907TGWAttachmentStatePENDINGACCEPTANCE)

	// TgwAttachmentStateAccepted is the ACCEPTED state of a TGW attachment
	TgwAttachmentStateAccepted = string(networkmodels.HashicorpCloudNetwork20200907TGWAttachmentStateACCEPTED)

	// TgwAttachmentStateActive is the ACTIVE state of a TGW attachment
	TgwAttachmentStateActive = string(networkmodels.HashicorpCloudNetwork20200907TGWAttachmentStateACTIVE)
)

Variables

View Source
var WaitForPeeringToBeAccepted = waitForPeeringToBe(peeringState{
	Target:  PeeringStateAccepted,
	Pending: []string{PeeringStateCreating, PeeringStatePendingAcceptance},
})

WaitForPeeringToBeAccepted will poll the GET peering endpoint until the state is ACCEPTED, ctx is canceled, or an error occurs.

View Source
var WaitForPeeringToBeActive = waitForPeeringToBe(peeringState{
	Target:  PeeringStateActive,
	Pending: []string{PeeringStateCreating, PeeringStatePendingAcceptance, PeeringStateAccepted},
})

WaitForPeeringToBeActive will poll the GET peering endpoint until the state is ACTIVE, ctx is canceled, or an error occurs.

View Source
var WaitForPeeringToBePendingAcceptance = waitForPeeringToBe(peeringState{
	Target:  PeeringStatePendingAcceptance,
	Pending: []string{PeeringStateCreating},
})

WaitForPeeringToBePendingAcceptance will poll the GET peering endpoint until the state is PENDING_ACCEPTANCE, ctx is canceled, or an error occurs.

Functions

func CreateConsulCluster

CreateConsulCluster will make a call to the Consul service to initiate the create Consul cluster workflow.

func CreateCustomerRootACLToken

CreateCustomerRootACLToken invokes the consul-service endpoint to create privileged tokens for a Consul cluster. Example token: After cluster create, a customer would want a root token (or "bootstrap token") so they can continue to set-up their cluster.

func CreateHVNRoute added in v0.7.0

CreateHVNRoute creates a new HVN route

func CreateSnapshot

CreateSnapshot will make a call to the Consul service to initiate the create Consul snapshot workflow.

func CreateVaultCluster added in v0.4.0

CreateVaultCluster will make a call to the Vault service to initiate the create Vault cluster workflow.

func CreateVaultClusterAdminToken added in v0.4.0

CreateVaultClusterAdminToken will make a call to the Vault service to generate an admin token for the Vault cluster that expires after 6 hours.

func DeleteConsulCluster

DeleteConsulCluster will make a call to the Consul service to initiate the delete Consul cluster workflow.

func DeleteHVNRouteByID added in v0.7.0

DeleteSnapshotByID deletes an HVN route by its ID

func DeleteSnapshotByID

DeleteSnapshotByID deletes a Consul snapshot by its ID

func DeleteVaultCluster added in v0.4.0

DeleteVaultCluster will make a call to the Vault service to initiate the delete Vault cluster workflow.

func DeleteVaultPathsFilter added in v0.25.0

DeleteVaultPathsFilter will make a call to the Vault service to delete the paths filter for a secondary cluster

func GetAvailableHCPConsulVersions

func GetAvailableHCPConsulVersions(ctx context.Context, client *Client) ([]*consulmodels.HashicorpCloudConsul20210204Version, error)

GetAvailableHCPConsulVersions gets the list of available Consul versions that HCP supports.

func GetAvailableHCPConsulVersionsForLocation added in v0.2.0

func GetAvailableHCPConsulVersionsForLocation(ctx context.Context, loc *sharedmodels.HashicorpCloudLocationLocation, client *Client) ([]*consulmodels.HashicorpCloudConsul20210204Version, error)

GetAvailableHCPConsulVersionsForLocation gets the list of available Consul versions that HCP supports for the provided location.

func GetConsulClientConfigFiles

GetConsulClientConfigFiles gets a Consul cluster set of client config files.

The files will be returned in base64-encoded format and will get passed in that format.

func GetConsulClusterByID

GetConsulClusterByID gets an Consul cluster by its ID

func GetHVNRoute added in v0.7.0

GetHVNRoute returns specific HVN route by its ID

func GetHvnByID

GetHvnByID gets an HVN by its ID and location

func GetIterationFromId added in v0.17.0

func GetIterationFromId(ctx context.Context, client *Client, loc *sharedmodels.HashicorpCloudLocationLocation,
	bucketslug string, iterationId string) (*packermodels.HashicorpCloudPackerIteration, error)

GetIteration queries the HCP Packer registry for an existing bucket iteration.

func GetPackerChannelBySlug added in v0.14.0

func GetPackerChannelBySlug(ctx context.Context, client *Client, loc *sharedmodels.HashicorpCloudLocationLocation,
	bucketName string, channel string) (*packermodels.HashicorpCloudPackerChannel, error)

GetPackerChannelBySlug queries the HCP Packer registry for the iteration associated with the given channel name.

func GetParentOrganizationIDByProjectID

func GetParentOrganizationIDByProjectID(ctx context.Context, client *Client, projectID string) (string, error)

GetParentOrganizationIDByProjectID gets the parent organization ID of a project

func GetPeeringByID

GetPeeringByID gets a peering by its ID, hvnID, and location

func GetProjectByID

func GetProjectByID(ctx context.Context, client *Client, projectID string) (*resourcemodels.HashicorpCloudResourcemanagerProject, error)

GetProjectByID gets a project by its ID

func GetSnapshotByID

GetSnapshotByID gets a Consul snapshot by its ID

func GetTGWAttachmentByID added in v0.2.0

GetTGWAttachmentByID gets a TGW attachment by its ID, hvnID, and location

func GetVaultClusterByID added in v0.4.0

GetVaultClusterByID gets an Vault cluster by its ID.

func IsResponseCodeNotFound

func IsResponseCodeNotFound(err error) bool

IsResponseCodeNotFound takes an error returned from a client service request, and returns true if the response code was 404 not found

func ListConsulUpgradeVersions

ListConsulUpgradeVersions gets the list of available Consul versions that the supplied cluster can upgrade to.

func ListHVNRoutes added in v0.6.0

func ListHVNRoutes(ctx context.Context, client *Client, hvnID string,
	destination string, targetID string, targetType string,
	loc *sharedmodels.HashicorpCloudLocationLocation) ([]*networkmodels.HashicorpCloudNetwork20200907HVNRoute, error)

ListHVNRoutes lists the routes for an HVN.

func RenameSnapshotByID

RenameSnapshotByID renames a Consul snapshot by its ID

func ShouldLog

func ShouldLog() bool

ShouldLog determines if TF_LOG is set to a valid level.

func UpdateConsulCluster

UpdateConsulCluster will make a call to the Consul service to initiate the update Consul cluster workflow.

func UpdateVaultClusterConfig added in v0.31.0

UpdateVaultCluster will make a call to the Vault service to update the Vault cluster configuration.

func UpdateVaultClusterPublicIps added in v0.9.0

func UpdateVaultClusterPublicIps(ctx context.Context, client *Client, loc *sharedmodels.HashicorpCloudLocationLocation,
	clusterID string, enablePublicIps bool) (*vaultmodels.HashicorpCloudVault20201125UpdatePublicIpsResponse, error)

UpdateVaultClusterPublicIps will make a call to the Vault service to enable or disable public IPs for the Vault cluster.

func UpdateVaultPathsFilter added in v0.25.0

UpdateVaultPathsFilter will make a call to the Vault service to update the paths filter for a secondary cluster

func WaitForHVNRouteToBeActive added in v0.7.0

WaitForHVNRouteToBeActive will poll the GET HVN route endpoint until the state is ACTIVE, ctx is canceled, or an error occurs.

func WaitForOperation

func WaitForOperation(ctx context.Context, client *Client, operationName string, loc *sharedmodels.HashicorpCloudLocationLocation, operationID string) error

WaitForOperation will poll the operation wait endpoint until an operation is DONE, ctx is canceled, or consecutive errors occur waiting for operation to complete.

func WaitForTGWAttachmentToBeActive added in v0.2.0

func WaitForTGWAttachmentToBeActive(ctx context.Context, client *Client, tgwAttachmentID string, hvnID string, loc *sharedmodels.HashicorpCloudLocationLocation, timeout time.Duration) (*networkmodels.HashicorpCloudNetwork20200907TGWAttachment, error)

WaitForTGWAttachmentToBeActive will poll the GET TGW attachment endpoint until the state is ACTIVE, ctx is canceled, or an error occurs.

func WaitForTGWAttachmentToBePendingAcceptance added in v0.2.0

func WaitForTGWAttachmentToBePendingAcceptance(ctx context.Context, client *Client, tgwAttachmentID string, hvnID string, loc *sharedmodels.HashicorpCloudLocationLocation, timeout time.Duration) (*networkmodels.HashicorpCloudNetwork20200907TGWAttachment, error)

WaitForTGWAttachmentToBePendingAcceptance will poll the GET TGW attachment endpoint until the state is PENDING_ACCEPTANCE, ctx is canceled, or an error occurs.

Types

type Client

Client is an HCP client capable of making requests on behalf of a service principal

func NewClient

func NewClient(config ClientConfig) (*Client, error)

NewClient creates a new Client that is capable of making HCP requests

func (*Client) UpdateSourceChannel added in v0.18.0

func (cl *Client) UpdateSourceChannel(d *schema.ResourceData) (*Client, error)

updateSourceChannel updates the SourceChannel of the client

type ClientConfig

type ClientConfig struct {
	ClientID     string
	ClientSecret string

	// OrganizationID (optional) is the organization unique identifier to launch resources in.
	OrganizationID string

	// ProjectID (optional) is the project unique identifier to launch resources in.
	ProjectID string

	// SourceChannel denotes the client (channel) that originated the HCP cluster request.
	// this is synonymous to a user-agent.
	SourceChannel string
}

ClientConfig specifies configuration for the client that interacts with HCP

type WaitFor added in v0.14.0

Jump to

Keyboard shortcuts

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