Documentation ¶
Overview ¶
Package describe provides functionality to retrieve information about deployed applications, environments and workloads.
Index ¶
- Constants
- func IsStackNotExistsErr(err error) bool
- func NewAppRunnerStatusDescriber(opt *NewServiceStatusConfig) (*appRunnerStatusDescriber, error)
- func NewECSStatusDescriber(opt *NewServiceStatusConfig) (*ecsStatusDescriber, error)
- type App
- type AppDescriber
- type BackendServiceDescriber
- type ConfigStoreSvc
- type DeployedEnvServicesLister
- type ECSServiceConfig
- type EnvDescriber
- func (d *EnvDescriber) AvailableFeatures() ([]string, error)
- func (d *EnvDescriber) Describe() (*EnvDescription, error)
- func (d *EnvDescriber) Manifest() ([]byte, error)
- func (d *EnvDescriber) Outputs() (map[string]string, error)
- func (d *EnvDescriber) Params() (map[string]string, error)
- func (d *EnvDescriber) PublicCIDRBlocks() ([]string, error)
- func (d *EnvDescriber) ServiceDiscoveryEndpoint() (string, error)
- func (d *EnvDescriber) ValidateCFServiceDomainAliases() error
- func (d *EnvDescriber) Version() (string, error)
- type EnvDescription
- type EnvironmentVPC
- type ErrManifestNotFoundInTemplate
- type HumanJSONStringer
- type LBWebServiceDescriber
- type LBWebServiceURI
- type NewEnvDescriberConfig
- type NewServiceConfig
- type NewServiceStatusConfig
- type Pipeline
- type PipelineDescriber
- type PipelineStatus
- type PipelineStatusDescriber
- type RDWebServiceDescriber
- type ReachableService
- type ServiceConfig
- type ServiceDiscovery
- type URI
- type URIAccessType
- type WebServiceRoute
- type WorkerServiceDescriber
Constants ¶
const ( // BlankServiceDiscoveryURI is an empty URI to denote services // that cannot be reached with Service Discovery. BlankServiceDiscoveryURI = "-" )
Variables ¶
This section is empty.
Functions ¶
func IsStackNotExistsErr ¶
IsStackNotExistsErr returns true if error type is stack not exist.
func NewAppRunnerStatusDescriber ¶ added in v1.7.0
func NewAppRunnerStatusDescriber(opt *NewServiceStatusConfig) (*appRunnerStatusDescriber, error)
NewAppRunnerStatusDescriber instantiates a new appRunnerStatusDescriber struct.
func NewECSStatusDescriber ¶ added in v1.7.0
func NewECSStatusDescriber(opt *NewServiceStatusConfig) (*ecsStatusDescriber, error)
NewECSStatusDescriber instantiates a new ecsStatusDescriber struct.
Types ¶
type App ¶
type App struct { Name string `json:"name"` Version string `json:"version"` URI string `json:"uri"` Envs []*config.Environment `json:"environments"` Services []*config.Workload `json:"services"` Jobs []*config.Workload `json:"jobs"` Pipelines []*codepipeline.Pipeline `json:"pipelines"` WkldDeployedtoEnvs map[string][]string `json:"-"` }
App contains serialized parameters for an application.
func (*App) HumanString ¶
HumanString returns the stringified App struct with human readable format.
func (*App) JSONString ¶
JSONString returns the stringified App struct with json format.
type AppDescriber ¶ added in v1.5.0
type AppDescriber struct {
// contains filtered or unexported fields
}
AppDescriber retrieves information about an application.
func NewAppDescriber ¶ added in v1.5.0
func NewAppDescriber(appName string) (*AppDescriber, error)
NewAppDescriber instantiates an application describer.
func (*AppDescriber) Version ¶ added in v1.5.0
func (d *AppDescriber) Version() (string, error)
Version returns the app CloudFormation template version associated with the application by reading the Metadata.Version field from the template. Specifically it will get both app CFN stack template version and app StackSet template version, and return the minimum as the current app version.
If the Version field does not exist, then it's a legacy template and it returns an deploy.LegacyAppTemplateVersion and nil error.
type BackendServiceDescriber ¶
type BackendServiceDescriber struct {
// contains filtered or unexported fields
}
BackendServiceDescriber retrieves information about a backend service.
func NewBackendServiceDescriber ¶
func NewBackendServiceDescriber(opt NewServiceConfig) (*BackendServiceDescriber, error)
NewBackendServiceDescriber instantiates a backend service describer.
func (*BackendServiceDescriber) Describe ¶
func (d *BackendServiceDescriber) Describe() (HumanJSONStringer, error)
Describe returns info of a backend service.
func (*BackendServiceDescriber) Manifest ¶ added in v1.20.0
func (d *BackendServiceDescriber) Manifest(env string) ([]byte, error)
Manifest returns the contents of the manifest used to deploy a backend service stack. If the Manifest metadata doesn't exist in the stack template, then returns ErrManifestNotFoundInTemplate.
type ConfigStoreSvc ¶
type ConfigStoreSvc interface { GetEnvironment(appName string, environmentName string) (*config.Environment, error) ListEnvironments(appName string) ([]*config.Environment, error) ListServices(appName string) ([]*config.Workload, error) GetWorkload(appName string, name string) (*config.Workload, error) ListJobs(appName string) ([]*config.Workload, error) }
ConfigStoreSvc wraps methods of config store.
type DeployedEnvServicesLister ¶
type DeployedEnvServicesLister interface { ListEnvironmentsDeployedTo(appName string, svcName string) ([]string, error) ListDeployedServices(appName string, envName string) ([]string, error) ListDeployedJobs(appName string, envName string) ([]string, error) }
DeployedEnvServicesLister wraps methods of deploy store.
type ECSServiceConfig ¶ added in v1.7.0
type ECSServiceConfig struct { *ServiceConfig Tasks string `json:"tasks"` }
type EnvDescriber ¶
type EnvDescriber struct {
// contains filtered or unexported fields
}
EnvDescriber retrieves information about an environment.
func NewEnvDescriber ¶
func NewEnvDescriber(opt NewEnvDescriberConfig) (*EnvDescriber, error)
NewEnvDescriber instantiates an environment describer.
func (*EnvDescriber) AvailableFeatures ¶ added in v1.19.0
func (d *EnvDescriber) AvailableFeatures() ([]string, error)
AvailableFeatures returns the available features of the environment stack.
func (*EnvDescriber) Describe ¶
func (d *EnvDescriber) Describe() (*EnvDescription, error)
Describe returns info about an application's environment.
func (*EnvDescriber) Manifest ¶ added in v1.19.0
func (d *EnvDescriber) Manifest() ([]byte, error)
Manifest returns the contents of the manifest used to deploy an environment stack.
func (*EnvDescriber) Outputs ¶ added in v1.7.1
func (d *EnvDescriber) Outputs() (map[string]string, error)
Outputs returns the outputs of the environment stack.
func (*EnvDescriber) Params ¶ added in v1.7.1
func (d *EnvDescriber) Params() (map[string]string, error)
Params returns the parameters of the environment stack.
func (*EnvDescriber) PublicCIDRBlocks ¶ added in v1.14.0
func (d *EnvDescriber) PublicCIDRBlocks() ([]string, error)
PublicCIDRBlocks returns the public CIDR blocks of the public subnets in the environment VPC.
func (*EnvDescriber) ServiceDiscoveryEndpoint ¶ added in v1.9.0
func (d *EnvDescriber) ServiceDiscoveryEndpoint() (string, error)
ServiceDiscoveryEndpoint returns the endpoint the environment was initialized with, if any. Otherwise, it returns the legacy app.local endpoint.
func (*EnvDescriber) ValidateCFServiceDomainAliases ¶ added in v1.21.0
func (d *EnvDescriber) ValidateCFServiceDomainAliases() error
ValidateCFServiceDomainAliases returns error if an environment using cdn is deployed without specifying http.alias for all load-balanced web services
func (*EnvDescriber) Version ¶ added in v0.5.0
func (d *EnvDescriber) Version() (string, error)
Version returns the CloudFormation template version associated with the environment by reading the Metadata.Version field from the template.
If the Version field does not exist, then it's a legacy template and it returns an deploy.LegacyEnvTemplateVersion and nil error.
type EnvDescription ¶
type EnvDescription struct { Environment *config.Environment `json:"environment"` Services []*config.Workload `json:"services"` Jobs []*config.Workload `json:"jobs"` Tags map[string]string `json:"tags,omitempty"` Resources []*stack.Resource `json:"resources,omitempty"` EnvironmentVPC EnvironmentVPC `json:"environmentVPC"` }
EnvDescription contains the information about an environment.
func (*EnvDescription) HumanString ¶
func (e *EnvDescription) HumanString() string
HumanString returns the stringified EnvDescription struct with human readable format.
func (*EnvDescription) JSONString ¶
func (e *EnvDescription) JSONString() (string, error)
JSONString returns the stringified EnvDescription struct with json format.
type EnvironmentVPC ¶ added in v0.6.0
type EnvironmentVPC struct { ID string `json:"id"` PublicSubnetIDs []string `json:"publicSubnetIDs"` PrivateSubnetIDs []string `json:"privateSubnetIDs"` }
EnvironmentVPC holds the ID of the environment's VPC configuration.
type ErrManifestNotFoundInTemplate ¶ added in v1.20.0
type ErrManifestNotFoundInTemplate struct {
// contains filtered or unexported fields
}
func (*ErrManifestNotFoundInTemplate) Error ¶ added in v1.20.0
func (err *ErrManifestNotFoundInTemplate) Error() string
Error implements the error interface.
type HumanJSONStringer ¶
HumanJSONStringer contains methods that stringify app info for output.
type LBWebServiceDescriber ¶ added in v1.7.0
type LBWebServiceDescriber struct {
// contains filtered or unexported fields
}
LBWebServiceDescriber retrieves information about a load balanced web service.
func NewLBWebServiceDescriber ¶ added in v1.7.0
func NewLBWebServiceDescriber(opt NewServiceConfig) (*LBWebServiceDescriber, error)
NewLBWebServiceDescriber instantiates a load balanced service describer.
func (*LBWebServiceDescriber) Describe ¶ added in v1.7.0
func (d *LBWebServiceDescriber) Describe() (HumanJSONStringer, error)
Describe returns info of a web service.
func (*LBWebServiceDescriber) Manifest ¶ added in v1.20.0
func (d *LBWebServiceDescriber) Manifest(env string) ([]byte, error)
Manifest returns the contents of the manifest used to deploy a load balanced web service stack. If the Manifest metadata doesn't exist in the stack template, then returns ErrManifestNotFoundInTemplate.
type LBWebServiceURI ¶ added in v1.7.0
type LBWebServiceURI struct {
// contains filtered or unexported fields
}
LBWebServiceURI represents the unique identifier to access a load balanced web service.
func (*LBWebServiceURI) String ¶ added in v1.7.0
func (u *LBWebServiceURI) String() string
type NewEnvDescriberConfig ¶
type NewEnvDescriberConfig struct { App string Env string EnableResources bool ConfigStore ConfigStoreSvc DeployStore DeployedEnvServicesLister }
NewEnvDescriberConfig contains fields that initiates EnvDescriber struct.
type NewServiceConfig ¶
type NewServiceConfig struct { App string Svc string ConfigStore ConfigStoreSvc EnableResources bool DeployStore DeployedEnvServicesLister }
NewServiceConfig contains fields that initiates service describer struct.
type NewServiceStatusConfig ¶
type NewServiceStatusConfig struct { App string Env string Svc string ConfigStore ConfigStoreSvc }
NewServiceStatusConfig contains fields that initiates ServiceStatus struct.
type Pipeline ¶
type Pipeline struct { // Name is the user provided name for a pipeline Name string `json:"name"` codepipeline.Pipeline Resources []*describestack.Resource `json:"resources,omitempty"` }
Pipeline contains serialized parameters for a pipeline.
func (*Pipeline) HumanString ¶
HumanString returns the stringified Pipeline struct with human readable format.
func (*Pipeline) JSONString ¶
JSONString returns the stringified Pipeline struct with JSON format.
type PipelineDescriber ¶
type PipelineDescriber struct {
// contains filtered or unexported fields
}
PipelineDescriber retrieves information about a deployed pipeline.
func NewPipelineDescriber ¶
func NewPipelineDescriber(pipeline deploy.Pipeline, showResources bool) (*PipelineDescriber, error)
NewPipelineDescriber instantiates a new pipeline describer
func (*PipelineDescriber) Describe ¶
func (d *PipelineDescriber) Describe() (HumanJSONStringer, error)
Describe returns description of a pipeline.
type PipelineStatus ¶
type PipelineStatus struct { Name string `json:"name"` codepipeline.PipelineState }
PipelineStatus contains the status for a pipeline.
func (PipelineStatus) HumanString ¶
func (p PipelineStatus) HumanString() string
HumanString returns stringified PipelineStatus struct with human readable format.
func (PipelineStatus) JSONString ¶
func (p PipelineStatus) JSONString() (string, error)
JSONString returns stringified PipelineStatus struct with json format.
type PipelineStatusDescriber ¶
type PipelineStatusDescriber struct {
// contains filtered or unexported fields
}
PipelineStatusDescriber retrieves status of a deployed pipeline.
func NewPipelineStatusDescriber ¶
func NewPipelineStatusDescriber(pipeline deploy.Pipeline) (*PipelineStatusDescriber, error)
NewPipelineStatusDescriber instantiates a new PipelineStatus struct.
func (*PipelineStatusDescriber) Describe ¶
func (d *PipelineStatusDescriber) Describe() (HumanJSONStringer, error)
Describe returns status of a pipeline.
type RDWebServiceDescriber ¶ added in v1.7.0
type RDWebServiceDescriber struct {
// contains filtered or unexported fields
}
RDWebServiceDescriber retrieves information about a request-driven web service.
func NewRDWebServiceDescriber ¶ added in v1.7.0
func NewRDWebServiceDescriber(opt NewServiceConfig) (*RDWebServiceDescriber, error)
NewRDWebServiceDescriber instantiates a request-driven service describer.
func (*RDWebServiceDescriber) Describe ¶ added in v1.7.0
func (d *RDWebServiceDescriber) Describe() (HumanJSONStringer, error)
Describe returns info for a request-driven web service.
func (*RDWebServiceDescriber) Manifest ¶ added in v1.20.0
func (d *RDWebServiceDescriber) Manifest(env string) ([]byte, error)
Manifest returns the contents of the manifest used to deploy a request-driven web service stack. If the Manifest metadata doesn't exist in the stack template, then returns ErrManifestNotFoundInTemplate.
func (*RDWebServiceDescriber) ServiceARN ¶ added in v1.18.0
func (d *RDWebServiceDescriber) ServiceARN(env string) (string, error)
ServiceARN retrieves the ARN of the app runner service.
type ReachableService ¶ added in v1.10.0
ReachableService represents a service describer that has an endpoint.
func NewReachableService ¶ added in v1.10.0
func NewReachableService(app, svc string, store ConfigStoreSvc) (ReachableService, error)
NewReachableService returns a ReachableService based on the type of the service.
type ServiceConfig ¶
type ServiceConfig struct { Environment string `json:"environment"` Port string `json:"port"` CPU string `json:"cpu"` Memory string `json:"memory"` Platform string `json:"platform,omitempty"` }
ServiceConfig contains serialized configuration parameters for a service.
type ServiceDiscovery ¶
type ServiceDiscovery struct { Environment []string `json:"environment"` Namespace string `json:"namespace"` }
ServiceDiscovery contains serialized service discovery info for an service.
type URI ¶ added in v1.19.0
type URI struct { URI string AccessType URIAccessType }
type URIAccessType ¶ added in v1.19.0
type URIAccessType int
const ( URIAccessTypeNone URIAccessType = iota URIAccessTypeInternet URIAccessTypeInternal URIAccessTypeServiceDiscovery )
type WebServiceRoute ¶
WebServiceRoute contains serialized route parameters for a web service.
type WorkerServiceDescriber ¶ added in v1.10.0
type WorkerServiceDescriber struct {
// contains filtered or unexported fields
}
WorkerServiceDescriber retrieves information about a worker service.
func NewWorkerServiceDescriber ¶ added in v1.10.0
func NewWorkerServiceDescriber(opt NewServiceConfig) (*WorkerServiceDescriber, error)
NewWorkerServiceDescriber instantiates a worker service describer.
func (*WorkerServiceDescriber) Describe ¶ added in v1.10.0
func (d *WorkerServiceDescriber) Describe() (HumanJSONStringer, error)
Describe returns info of a worker service.
func (*WorkerServiceDescriber) Manifest ¶ added in v1.20.0
func (d *WorkerServiceDescriber) Manifest(env string) ([]byte, error)
Manifest returns the contents of the manifest used to deploy a worker service stack. If the Manifest metadata doesn't exist in the stack template, then returns ErrManifestNotFoundInTemplate.