Documentation ¶
Index ¶
- func CreateConsulCluster(ctx context.Context, client *Client, ...) (*consulmodels.HashicorpCloudConsul20200826CreateResponse, error)
- func CreateCustomerRootACLToken(ctx context.Context, client *Client, ...) (*consulmodels.HashicorpCloudConsul20200826CreateCustomerMasterACLTokenResponse, ...)
- func CreateSnapshot(ctx context.Context, client *Client, ...) (*consulmodels.HashicorpCloudConsul20200826CreateSnapshotResponse, error)
- func DeleteConsulCluster(ctx context.Context, client *Client, ...) (*consulmodels.HashicorpCloudConsul20200826DeleteResponse, error)
- func DeleteSnapshotByID(ctx context.Context, client *Client, ...) (*consulmodels.HashicorpCloudConsul20200826DeleteSnapshotResponse, error)
- func GetAvailableHCPConsulVersions(ctx context.Context, loc *sharedmodels.HashicorpCloudLocationLocation, ...) ([]*consulmodels.HashicorpCloudConsul20200826Version, error)
- func GetConsulClientConfigFiles(ctx context.Context, client *Client, ...) (*consulmodels.HashicorpCloudConsul20200826GetClientConfigResponse, error)
- func GetConsulClusterByID(ctx context.Context, client *Client, ...) (*consulmodels.HashicorpCloudConsul20200826Cluster, error)
- func GetHvnByID(ctx context.Context, client *Client, ...) (*networkmodels.HashicorpCloudNetwork20200907Network, error)
- func GetParentOrganizationIDByProjectID(ctx context.Context, client *Client, projectID string) (string, error)
- func GetPeeringByID(ctx context.Context, client *Client, peeringID string, hvnID string, ...) (*networkmodels.HashicorpCloudNetwork20200907Peering, error)
- func GetProjectByID(ctx context.Context, client *Client, projectID string) (*resourcemodels.HashicorpCloudResourcemanagerProject, error)
- func GetSnapshotByID(ctx context.Context, client *Client, ...) (*consulmodels.HashicorpCloudConsul20200826GetSnapshotResponse, error)
- func IsResponseCodeNotFound(err error) bool
- func ListConsulUpgradeVersions(ctx context.Context, client *Client, ...) ([]*consulmodels.HashicorpCloudConsul20200826Version, error)
- func RenameSnapshotByID(ctx context.Context, client *Client, ...) (*consulmodels.HashicorpCloudConsul20200826UpdateSnapshotResponse, error)
- func ShouldLog() bool
- func UpdateConsulCluster(ctx context.Context, client *Client, ...) (*consulmodels.HashicorpCloudConsul20200826UpdateResponse, error)
- func WaitForOperation(ctx context.Context, client *Client, operationName string, ...) error
- func WaitForPeeringToBePendingAcceptance(ctx context.Context, client *Client, peeringID string, hvnID string, ...) (*networkmodels.HashicorpCloudNetwork20200907Peering, error)
- type Client
- type ClientConfig
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func CreateConsulCluster ¶
func CreateConsulCluster(ctx context.Context, client *Client, loc *sharedmodels.HashicorpCloudLocationLocation, clusterID, datacenter, consulVersion string, numServers int32, private, connectEnabled bool, network *sharedmodels.HashicorpCloudLocationLink) (*consulmodels.HashicorpCloudConsul20200826CreateResponse, error)
CreateConsulCluster will make a call to the Consul service to initiate the create Consul cluster workflow.
func CreateCustomerRootACLToken ¶
func CreateCustomerRootACLToken(ctx context.Context, client *Client, loc *sharedmodels.HashicorpCloudLocationLocation, consulClusterID string) (*consulmodels.HashicorpCloudConsul20200826CreateCustomerMasterACLTokenResponse, error)
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 ¶
func CreateSnapshot(ctx context.Context, client *Client, res *sharedmodels.HashicorpCloudLocationLink, snapshotName string) (*consulmodels.HashicorpCloudConsul20200826CreateSnapshotResponse, error)
CreateSnapshot will make a call to the Consul service to initiate the create Consul snapshot workflow.
func DeleteConsulCluster ¶
func DeleteConsulCluster(ctx context.Context, client *Client, loc *sharedmodels.HashicorpCloudLocationLocation, clusterID string) (*consulmodels.HashicorpCloudConsul20200826DeleteResponse, error)
DeleteConsulCluster will make a call to the Consul service to initiate the delete Consul cluster workflow.
func DeleteSnapshotByID ¶
func DeleteSnapshotByID(ctx context.Context, client *Client, loc *sharedmodels.HashicorpCloudLocationLocation, snapshotID string) (*consulmodels.HashicorpCloudConsul20200826DeleteSnapshotResponse, error)
DeleteSnapshotByID deletes a Consul snapshot by its ID
func GetAvailableHCPConsulVersions ¶
func GetAvailableHCPConsulVersions(ctx context.Context, loc *sharedmodels.HashicorpCloudLocationLocation, client *Client) ([]*consulmodels.HashicorpCloudConsul20200826Version, error)
GetAvailableHCPConsulVersions gets the list of available Consul versions that HCP supports.
func GetConsulClientConfigFiles ¶
func GetConsulClientConfigFiles(ctx context.Context, client *Client, loc *sharedmodels.HashicorpCloudLocationLocation, consulClusterID string) (*consulmodels.HashicorpCloudConsul20200826GetClientConfigResponse, error)
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 ¶
func GetConsulClusterByID(ctx context.Context, client *Client, loc *sharedmodels.HashicorpCloudLocationLocation, consulClusterID string) (*consulmodels.HashicorpCloudConsul20200826Cluster, error)
GetConsulClusterByID gets an Consul cluster by its ID
func GetHvnByID ¶
func GetHvnByID(ctx context.Context, client *Client, loc *sharedmodels.HashicorpCloudLocationLocation, hvnID string) (*networkmodels.HashicorpCloudNetwork20200907Network, error)
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 ¶
func GetPeeringByID(ctx context.Context, client *Client, peeringID string, hvnID string, loc *sharedmodels.HashicorpCloudLocationLocation) (*networkmodels.HashicorpCloudNetwork20200907Peering, error)
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 ¶
func GetSnapshotByID(ctx context.Context, client *Client, loc *sharedmodels.HashicorpCloudLocationLocation, snapshotID string) (*consulmodels.HashicorpCloudConsul20200826GetSnapshotResponse, error)
GetSnapshotByID gets a Consul snapshot by its ID
func IsResponseCodeNotFound ¶
IsResponseCodeNotFound takes an error returned from a client service request, and returns true if the response code was 404 not found
func ListConsulUpgradeVersions ¶
func ListConsulUpgradeVersions(ctx context.Context, client *Client, loc *sharedmodels.HashicorpCloudLocationLocation, clusterID string) ([]*consulmodels.HashicorpCloudConsul20200826Version, error)
GetAvailableHCPConsulVersions gets the list of available Consul versions that HCP supports.
func RenameSnapshotByID ¶
func RenameSnapshotByID(ctx context.Context, client *Client, loc *sharedmodels.HashicorpCloudLocationLocation, snapshotID string, snapshotName string) (*consulmodels.HashicorpCloudConsul20200826UpdateSnapshotResponse, error)
RenameSnapshotByID renames a Consul snapshot by its ID
func UpdateConsulCluster ¶
func UpdateConsulCluster(ctx context.Context, client *Client, loc *sharedmodels.HashicorpCloudLocationLocation, clusterID, newConsulVersion string) (*consulmodels.HashicorpCloudConsul20200826UpdateResponse, 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) (*networkmodels.HashicorpCloudNetwork20200907Peering, error)
WaitForPeeringToBePendingAcceptance will poll the GET peering endpoint until the state is PENDING_ACCEPTANCE, ctx is canceled, or an error occurs. This is required because AWS can return a newly created Network peering before it is ready to be accepted. See https://hashicorp.atlassian.net/browse/HCP-1658
Types ¶
type Client ¶
type Client struct { Config ClientConfig Network network_service.ClientService Operation operation_service.ClientService Project project_service.ClientService Organization organization_service.ClientService Consul consul_service.ClientService }
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