 Documentation
      ¶
      Documentation
      ¶
    
    
  
    
  
    Index ¶
- func ValidateMandatoryEnvironment(host string, apiKey string, accessToken string) error
- type Client
- func (c *Client) GetActiveSpace() *spaces.Space
- func (c *Client) GetHostUrl() string
- func (c *Client) GetSpacedClient(requester Requester) (*octopusApiClient.Client, error)
- func (c *Client) GetSystemClient(requester Requester) (*octopusApiClient.Client, error)
- func (c *Client) SetSpaceNameOrId(spaceNameOrId string)
 
- type ClientFactory
- type FakeRequesterContext
- type Requester
- type RequesterContext
- type SpinnerRoundTripper
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type Client ¶
type Client struct {
	// Underlying HTTP Client (settable for mocking in unit tests).
	// If nil, will use the system default HTTP client to connect to the Octopus Deploy server
	HttpClient *http.Client
	// TODO this should be an interface rather than a struct, but this requires changing the SDK, we'll get round to that
	// Octopus API Client not scoped to any space. nullable, lazily created by Get()
	SystemClient *octopusApiClient.Client
	// TODO this should be an interface rather than a struct, but this requires changing the SDK, we'll get round to that
	// Octopus API Client scoped to the current space. nullable, lazily created by Get()
	SpaceScopedClient *octopusApiClient.Client
	// the Server URL, obtained from OCTOPUS_URL
	ApiUrl *url.URL
	// Credentials, obtained from OCTOPUS_API_KEY or OCTOPUS_ACCESS_TOKEN
	Credentials octopusApiClient.ICredential
	// the Octopus SpaceNameOrID to work within. Obtained from OCTOPUS_SPACE (TODO: or --space=XYZ on the command line??)
	// Required for commands that need a space, but may be omitted for server-wide commands such as listing teams
	SpaceNameOrID string
	// After the space lookup process has occurred, we cache a reference to the SpaceNameOrID object for future use
	// May be nil if we haven't done space lookup yet
	ActiveSpace *spaces.Space
	Ask question.AskProvider
}
    func (*Client) GetActiveSpace ¶ added in v0.2.0
func (*Client) GetHostUrl ¶ added in v0.2.0
func (*Client) GetSpacedClient ¶ added in v0.2.0
func (c *Client) GetSpacedClient(requester Requester) (*octopusApiClient.Client, error)
func (*Client) GetSystemClient ¶ added in v0.2.0
func (c *Client) GetSystemClient(requester Requester) (*octopusApiClient.Client, error)
func (*Client) SetSpaceNameOrId ¶ added in v0.2.0
type ClientFactory ¶
type ClientFactory interface {
	// GetSpacedClient returns an Octopus api Client instance which is bound to the Space
	// specified in the OCTOPUS_SPACE environment variable, or the command line. It should be the default
	GetSpacedClient(requester Requester) (*octopusApiClient.Client, error)
	// GetSystemClient returns an Octopus api Client instance which isn't bound to any Space.
	// Use it for things that live outside of a space, such as Teams, or Spaces themselves
	GetSystemClient(requester Requester) (*octopusApiClient.Client, error)
	// GetActiveSpace returns the currently selected space.
	// Note this is lazily populated when you call GetSpacedClient;
	// if you have not yet done so then it may return nil
	GetActiveSpace() *spaces.Space
	// SetSpaceNameOrId replaces whichever space name or ID was picked up from the environment or selected
	// interactively. This resets the internal cache inside the ClientFactory, meaning that the next time
	// someone calls GetSpacedClient we will have to query the Octopus Server to look up spaceNameOrId,
	// and any calls to GetActiveSpace before that will return nil
	SetSpaceNameOrId(spaceNameOrId string)
	// GetHostUrl returns the current set API URL as a string
	GetHostUrl() string
}
    func NewClientFactory ¶ added in v0.2.0
func NewClientFactory(httpClient *http.Client, host string, credentials octopusApiClient.ICredential, spaceNameOrID string, ask question.AskProvider) (ClientFactory, error)
func NewClientFactoryFromConfig ¶ added in v0.2.1
func NewClientFactoryFromConfig(ask question.AskProvider) (ClientFactory, error)
NewClientFactoryFromConfig Creates a new Client wrapper structure by reading the viper config. specifies nil for the HTTP Client, so this is not for unit tests; use NewClientFactory(... instead)
func NewStubClientFactory ¶ added in v0.3.0
func NewStubClientFactory() ClientFactory
NewStubClientFactory returns a stub instance, so you can satisfy external code that needs a ClientFactory
type FakeRequesterContext ¶ added in v0.7.0
type FakeRequesterContext struct {
}
    func (*FakeRequesterContext) GetRequester ¶ added in v0.7.0
func (r *FakeRequesterContext) GetRequester() string
type RequesterContext ¶ added in v0.7.0
type RequesterContext struct {
	// contains filtered or unexported fields
}
    func NewRequester ¶ added in v0.7.0
func NewRequester(c *cobra.Command) *RequesterContext
func (*RequesterContext) GetRequester ¶ added in v0.7.0
func (r *RequesterContext) GetRequester() string
type SpinnerRoundTripper ¶ added in v0.2.1
type SpinnerRoundTripper struct {
	Next    http.RoundTripper
	Spinner *spinner.Spinner
}
    func NewSpinnerRoundTripper ¶ added in v0.2.1
func NewSpinnerRoundTripper() *SpinnerRoundTripper
 Click to show internal directories. 
   Click to hide internal directories.