Documentation ¶
Index ¶
- Constants
- Variables
- func UploadArtifact(ctx context.Context, data FileUploadRequest) error
- type APIError
- type Client
- type CloudAPIErrorError
- type Config
- type ConfigOption
- type CreateModuleVersionRequest
- type CreateModuleVersionRequestData
- type CreateModuleVersionRequestDataAttributes
- type CreateModuleVersionResponse
- type CreateModuleVersionResponseData
- type CreateModuleVersionResponseDataAttributes
- type CreateModuleVersionResponseDataLinks
- type CreateModuleVersionResponseDataRelationships
- type CreateModuleVersionResponseDataRelationshipsRegistryModule
- type CreateModuleVersionResponseDataRelationshipsRegistryModuleData
- type CreateProviderVersionPlatformRequest
- type CreateProviderVersionPlatformRequestData
- type CreateProviderVersionPlatformRequestDataAttributes
- type CreateProviderVersionPlatformResponse
- type CreateProviderVersionPlatformResponseData
- type CreateProviderVersionPlatformResponseDataAttributes
- type CreateProviderVersionPlatformResponseDataAttributesPermissions
- type CreateProviderVersionPlatformResponseDataLinks
- type CreateProviderVersionPlatformResponseDataRelationships
- type CreateProviderVersionPlatformResponseDataRelationshipsRegistryProviderVersion
- type CreateProviderVersionPlatformResponseDataRelationshipsRegistryProviderVersionData
- type CreateProviderVersionRequest
- type CreateProviderVersionRequestData
- type CreateProviderVersionRequestDataAttributes
- type CreateProviderVersionResponse
- type CreateProviderVersionResponseData
- type CreateProviderVersionResponseDataAttributes
- type CreateProviderVersionResponseDataAttributesPermissions
- type CreateProviderVersionResponseDataLinks
- type CreateProviderVersionResponseDataRelationships
- type CreateProviderVersionResponseDataRelationshipsRegistryProvider
- type CreateProviderVersionResponseDataRelationshipsRegistryProviderData
- type CreateProviderVersionResponseDataRelationshipsRegistryProviderPlatforms
- type CreateProviderVersionResponseDataRelationshipsRegistryProviderPlatformsLinks
- type FileUploadRequest
- type ModuleClient
- type ProviderClient
- type StatusError
Constants ¶
const (
DefaultAddress = "https://app.terraform.io"
)
Variables ¶
var UploadClient *http.Client
Functions ¶
func UploadArtifact ¶
func UploadArtifact(ctx context.Context, data FileUploadRequest) error
UploadArtifact wraps the basics around uploading an artifact to Terraform Cloud
Types ¶
type APIError ¶
type APIError struct { Errors []CloudAPIErrorError `json:"errors,omitempty"` Success *bool `json:"success,omitempty"` }
func UnwrapAPIError ¶
func (*APIError) UnmarshalJSON ¶
type Client ¶
type Client struct {
// contains filtered or unexported fields
}
func NewClient ¶
func NewClient(cfg *Config, opts ...ConfigOption) (*Client, error)
NewClient constructs a new client instance based upon the provided configuration. Specific-intent clients are chained from this base client instance.
func (*Client) ModuleClient ¶
func (c *Client) ModuleClient() *ModuleClient
ModuleClient interfaces with the Module Registry in Terraform Cloud
func (*Client) ProviderClient ¶
func (c *Client) ProviderClient() *ProviderClient
ProviderClient interfaces with the Provider Registry in Terraform Cloud
type CloudAPIErrorError ¶
type CloudAPIErrorError struct { Status string `json:"status"` Title string `json:"title"` Detail string `json:"detail"` Source map[string]interface{} `json:"source"` }
func UnwrapCloudAPIError ¶
func UnwrapCloudAPIError(err error) *CloudAPIErrorError
func (*CloudAPIErrorError) Error ¶
func (e *CloudAPIErrorError) Error() string
type Config ¶
type Config struct { // Address [required] (default: https://app.terraform.io) // // Address, including scheme and port (if not well-known) of C Address string // HTTPClient [required] (default: basic http client with connection pooling) // // HTTP client instance to use HTTPClient *http.Client }
type ConfigOption ¶
type ConfigOption func(*Config)
type CreateModuleVersionRequest ¶
type CreateModuleVersionRequest struct {
Data CreateModuleVersionRequestData `json:"data"`
}
func NewCreateModuleVersionRequest ¶
func NewCreateModuleVersionRequest(version string) CreateModuleVersionRequest
type CreateModuleVersionRequestData ¶
type CreateModuleVersionRequestData struct { Attributes CreateModuleVersionRequestDataAttributes `json:"attributes"` Type string `json:"type"` }
type CreateModuleVersionRequestDataAttributes ¶
type CreateModuleVersionRequestDataAttributes struct {
Version string `json:"version"`
}
type CreateModuleVersionResponse ¶
type CreateModuleVersionResponse struct {
Data CreateModuleVersionResponseData `json:"data"`
}
type CreateModuleVersionResponseData ¶
type CreateModuleVersionResponseData struct { Attributes CreateModuleVersionResponseDataAttributes `json:"attributes"` ID string `json:"id"` Links CreateModuleVersionResponseDataLinks `json:"links"` Relationships CreateModuleVersionResponseDataRelationships `json:"relationships"` Type string `json:"type"` }
type CreateModuleVersionResponseDataLinks ¶
type CreateModuleVersionResponseDataLinks struct {
Upload string `json:"upload"`
}
type CreateModuleVersionResponseDataRelationships ¶
type CreateModuleVersionResponseDataRelationships struct {
RegistryModule CreateModuleVersionResponseDataRelationshipsRegistryModule `json:"registry-module"`
}
type CreateModuleVersionResponseDataRelationshipsRegistryModule ¶
type CreateModuleVersionResponseDataRelationshipsRegistryModule struct {
Data CreateModuleVersionResponseDataRelationshipsRegistryModuleData `json:"data"`
}
type CreateProviderVersionPlatformRequest ¶
type CreateProviderVersionPlatformRequest struct {
Data CreateProviderVersionPlatformRequestData `json:"data"`
}
func NewCreateProviderVersionPlatformRequest ¶
func NewCreateProviderVersionPlatformRequest(os, arch, shasum, filename string) CreateProviderVersionPlatformRequest
type CreateProviderVersionPlatformRequestData ¶
type CreateProviderVersionPlatformRequestData struct { Attributes CreateProviderVersionPlatformRequestDataAttributes `json:"attributes"` Type string `json:"type"` }
type CreateProviderVersionPlatformResponse ¶
type CreateProviderVersionPlatformResponse struct {
Data CreateProviderVersionPlatformResponseData `json:"data"`
}
type CreateProviderVersionPlatformResponseData ¶
type CreateProviderVersionPlatformResponseData struct { Attributes CreateProviderVersionPlatformResponseDataAttributes `json:"attributes"` ID string `json:"id"` Links CreateProviderVersionPlatformResponseDataLinks `json:"links"` Relationships CreateProviderVersionPlatformResponseDataRelationships `json:"relationships"` Type string `json:"type"` }
type CreateProviderVersionPlatformResponseDataAttributes ¶
type CreateProviderVersionPlatformResponseDataAttributes struct { Arch string `json:"arch"` Filename string `json:"filename"` Os string `json:"os"` Permissions CreateProviderVersionPlatformResponseDataAttributesPermissions `json:"permissions"` ProviderBinaryUploaded bool `json:"provider-binary-uploaded"` Shasum string `json:"shasum"` }
type CreateProviderVersionPlatformResponseDataLinks ¶
type CreateProviderVersionPlatformResponseDataLinks struct {
ProviderBinaryUpload string `json:"provider-binary-upload"`
}
type CreateProviderVersionPlatformResponseDataRelationships ¶
type CreateProviderVersionPlatformResponseDataRelationships struct {
RegistryProviderVersion CreateProviderVersionPlatformResponseDataRelationshipsRegistryProviderVersion `json:"registry-provider-version"`
}
type CreateProviderVersionPlatformResponseDataRelationshipsRegistryProviderVersion ¶
type CreateProviderVersionPlatformResponseDataRelationshipsRegistryProviderVersion struct {
Data CreateProviderVersionPlatformResponseDataRelationshipsRegistryProviderVersionData `json:"data"`
}
type CreateProviderVersionRequest ¶
type CreateProviderVersionRequest struct {
Data CreateProviderVersionRequestData `json:"data"`
}
func NewCreateProviderVersionRequest ¶
func NewCreateProviderVersionRequest(vers, keyID string, protocols []string) CreateProviderVersionRequest
type CreateProviderVersionRequestData ¶
type CreateProviderVersionRequestData struct { Type string `json:"type"` Attributes CreateProviderVersionRequestDataAttributes `json:"attributes"` }
type CreateProviderVersionResponse ¶
type CreateProviderVersionResponse struct {
Data CreateProviderVersionResponseData `json:"data"`
}
type CreateProviderVersionResponseData ¶
type CreateProviderVersionResponseData struct { Attributes CreateProviderVersionResponseDataAttributes `json:"attributes"` ID string `json:"id"` Links CreateProviderVersionResponseDataLinks `json:"links"` Relationships CreateProviderVersionResponseDataRelationships `json:"relationships"` Type string `json:"type"` }
type CreateProviderVersionResponseDataAttributes ¶
type CreateProviderVersionResponseDataAttributes struct { CreatedAt string `json:"created-at"` KeyID string `json:"key-id"` Permissions CreateProviderVersionResponseDataAttributesPermissions `json:"permissions"` Protocols []string `json:"protocols"` ShasumsSigUploaded bool `json:"shasums-sig-uploaded"` ShasumsUploaded bool `json:"shasums-uploaded"` UpdatedAt string `json:"updated-at"` Version string `json:"version"` }
type CreateProviderVersionResponseDataRelationships ¶
type CreateProviderVersionResponseDataRelationships struct { RegistryProvider CreateProviderVersionResponseDataRelationshipsRegistryProvider `json:"registry-provider"` RegistryProviderPlatforms CreateProviderVersionResponseDataRelationshipsRegistryProviderPlatforms `json:"registry-provider-platforms"` }
type CreateProviderVersionResponseDataRelationshipsRegistryProvider ¶
type CreateProviderVersionResponseDataRelationshipsRegistryProvider struct {
Data CreateProviderVersionResponseDataRelationshipsRegistryProviderData `json:"data"`
}
type CreateProviderVersionResponseDataRelationshipsRegistryProviderPlatforms ¶
type CreateProviderVersionResponseDataRelationshipsRegistryProviderPlatforms struct { Data []interface{} `json:"data"` Links CreateProviderVersionResponseDataRelationshipsRegistryProviderPlatformsLinks `json:"links"` }
type CreateProviderVersionResponseDataRelationshipsRegistryProviderPlatformsLinks ¶
type CreateProviderVersionResponseDataRelationshipsRegistryProviderPlatformsLinks struct {
Related string `json:"related"`
}
type FileUploadRequest ¶
type ModuleClient ¶
type ModuleClient struct {
// contains filtered or unexported fields
}
ModuleClient interfaces with the Module Registry in Terraform Cloud
func (*ModuleClient) CreateModuleVersion ¶
func (mc *ModuleClient) CreateModuleVersion( ctx context.Context, bearerToken, organizationName, registryName, namespace, moduleName, providerName string, data CreateModuleVersionRequest) (*CreateModuleVersionResponse, error)
CreateModuleVersion
Executes: POST /api/v2/organizations/:organization_name/registry-modules/:registry-name/:namespace/:module_name/:provider_name/versions Docs: https://www.terraform.io/cloud-docs/api-docs/private-registry/modules#create-a-module-version
type ProviderClient ¶
type ProviderClient struct {
// contains filtered or unexported fields
}
ProviderClient interfaces with the Provider Registry in Terraform Cloud
func (*ProviderClient) CreateProviderVersion ¶
func (tc *ProviderClient) CreateProviderVersion( ctx context.Context, bearerToken, organizationName, registryName, namespace, providerName string, data CreateProviderVersionRequest, ) (*CreateProviderVersionResponse, error)
CreateProviderVersion
Executes: POST /api/v2/organizations/:organization_name/registry-providers/:registry_name/:namespace/:provider_name/versions Docs: https://www.terraform.io/cloud-docs/api-docs/private-registry/provider-versions-platforms#create-a-provider-version
func (*ProviderClient) CreateProviderVersionPlatform ¶
func (tc *ProviderClient) CreateProviderVersionPlatform( ctx context.Context, bearerToken, organizationName, registryName, namespace, providerName, providerVersion string, data CreateProviderVersionPlatformRequest, ) (*CreateProviderVersionPlatformResponse, error)
CreateProviderVersionPlatform
Executes: POST /api/v2/organizations/:organization_name/registry-providers/:registry_name/:namespace/:provider_name/versions/:provider_version/platforms Docs: https://www.terraform.io/cloud-docs/api-docs/private-registry/provider-versions-platforms#create-a-provider-platform
type StatusError ¶
type StatusError struct { ExpectedCode int `json:"expected-code"` ActualCode int `json:"actual-code"` Body string `json:"body"` CloudError APIError `json:"tfcloud-error"` }
func UnwrapStatusError ¶
func UnwrapStatusError(err error) *StatusError
func (*StatusError) Error ¶
func (e *StatusError) Error() string