clients

package
v0.6.1 Latest Latest
Warning

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

Go to latest
Published: Jun 3, 2021 License: MPL-2.0 Imports: 27 Imported by: 0

Documentation

Index

Constants

View Source
const (
	// PeeringStateCreating is the CREATING state of a network peering
	PeeringStateCreating = string(networkmodels.HashicorpCloudNetwork20200907PeeringStateCREATING)

	// PeeringStatePendingAcceptance is the PENDING_ACCEPTANCE state of a network peering
	PeeringStatePendingAcceptance = string(networkmodels.HashicorpCloudNetwork20200907PeeringStatePENDINGACCEPTANCE)
)
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

This section is empty.

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 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 Consul service to initiate the create Consul 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 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 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 GetHvnByID

GetHvnByID gets an HVN by its ID and location

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

func UpdateConsulCluster(ctx context.Context, client *Client, loc *sharedmodels.HashicorpCloudLocationLocation,
	clusterID, newConsulVersion string) (*consulmodels.HashicorpCloudConsul20210204UpdateResponse, error)

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

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 WaitForPeeringToBePendingAcceptance

func WaitForPeeringToBePendingAcceptance(ctx context.Context, client *Client, peeringID string, hvnID string, loc *sharedmodels.HashicorpCloudLocationLocation, timeout time.Duration) (*networkmodels.HashicorpCloudNetwork20200907Peering, error)

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

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

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

Jump to

Keyboard shortcuts

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