Documentation ¶
Index ¶
- func BashExec(command string, opts ...cmd.Option) error
- type AWS
- func (a *AWS) CreateCodeCommitIAMUser(userName string) (*IAMServiceCreds, error)
- func (a *AWS) CreateCodeCommitRepo(name string) (cloneURL string, err error)
- func (a *AWS) CreateECRRepo(name string) (string, error)
- func (a *AWS) CreateStack(name, templatePath string) error
- func (a *AWS) DeleteAllDBClusterSnapshots() error
- func (a *AWS) DeleteCodeCommitIAMUser(userName, credentialID string) error
- func (a *AWS) DeleteCodeCommitRepo(name string) error
- func (a *AWS) DeleteECRRepo(name string) error
- func (a *AWS) DeleteStack(name string) error
- func (a *AWS) ECRLoginPassword() (string, error)
- func (a *AWS) GetFileSystemSize() (int, error)
- func (a *AWS) VPCStackOutput(name string) ([]VPCStackOutput, error)
- func (a *AWS) WaitStackCreateComplete(name string) error
- func (a *AWS) WaitStackDeleteComplete(name string) error
- type AppInitRequest
- type AppShowOutput
- type CLI
- func (cli *CLI) AppDelete() (string, error)
- func (cli *CLI) AppInit(opts *AppInitRequest) (string, error)
- func (cli *CLI) AppList() (string, error)
- func (cli *CLI) AppShow(appName string) (*AppShowOutput, error)
- func (cli *CLI) EnvDelete(envName string) (string, error)
- func (cli *CLI) EnvInit(opts *EnvInitRequest) (string, error)
- func (cli *CLI) EnvList(appName string) (*EnvListOutput, error)
- func (cli *CLI) EnvShow(opts *EnvShowRequest) (*EnvShowOutput, error)
- func (cli *CLI) Help() (string, error)
- func (cli *CLI) Init(opts *InitRequest) (string, error)
- func (cli *CLI) JobDelete(jobName string) (string, error)
- func (cli *CLI) JobDeploy(opts *JobDeployInput) (string, error)
- func (cli *CLI) JobInit(opts *JobInitInput) (string, error)
- func (cli *CLI) JobList(appName string) (*JobListOutput, error)
- func (cli *CLI) JobPackage(opts *PackageInput) (string, error)
- func (cli *CLI) PipelineDeploy(app string) (string, error)
- func (cli *CLI) PipelineInit(app, url, branch string, envs []string) (string, error)
- func (cli *CLI) PipelineShow(app string) (*PipelineShowOutput, error)
- func (cli *CLI) PipelineStatus(app string) (*PipelineStatusOutput, error)
- func (cli *CLI) StorageInit(opts *StorageInitRequest) (string, error)
- func (cli *CLI) SvcDelete(serviceName string) (string, error)
- func (cli *CLI) SvcDeploy(opts *SvcDeployInput) (string, error)
- func (cli *CLI) SvcExec(opts *SvcExecRequest) (string, error)
- func (cli *CLI) SvcInit(opts *SvcInitRequest) (string, error)
- func (cli *CLI) SvcList(appName string) (*SvcListOutput, error)
- func (cli *CLI) SvcLogs(opts *SvcLogsRequest) ([]SvcLogsOutput, error)
- func (cli *CLI) SvcPackage(opts *PackageInput) (string, error)
- func (cli *CLI) SvcPause(opts *SvcPauseRequest) (string, error)
- func (cli *CLI) SvcResume(opts *SvcResumeRequest) (string, error)
- func (cli *CLI) SvcShow(opts *SvcShowRequest) (*SvcShowOutput, error)
- func (cli *CLI) SvcStatus(opts *SvcStatusRequest) (*SvcStatusOutput, error)
- func (cli *CLI) TaskDelete(opts *TaskDeleteInput) (string, error)
- func (cli *CLI) TaskExec(opts *TaskExecRequest) (string, error)
- func (cli *CLI) TaskRun(input *TaskRunInput) (string, error)
- func (cli *CLI) Version() (string, error)
- type Docker
- type EnvDescription
- type EnvInitRequest
- type EnvInitRequestVPCConfig
- type EnvInitRequestVPCImport
- type EnvListOutput
- type EnvShowOutput
- type EnvShowRequest
- type EnvShowServices
- type IAMServiceCreds
- type Image
- type InitRequest
- type JobDeployInput
- type JobInitInput
- type JobListOutput
- type PackageInput
- type PipelineShowOutput
- type PipelineStatusOutput
- type StorageInitRequest
- type SvcDeployInput
- type SvcExecRequest
- type SvcInitRequest
- type SvcListOutput
- type SvcLogsOutput
- type SvcLogsRequest
- type SvcPauseRequest
- type SvcResumeRequest
- type SvcShowConfigurations
- type SvcShowOutput
- type SvcShowRequest
- type SvcShowResourceInfo
- type SvcShowRoutes
- type SvcShowServiceDiscoveries
- type SvcShowVariables
- type SvcStatusAlarmInfo
- type SvcStatusOutput
- type SvcStatusRequest
- type SvcStatusServiceInfo
- type SvcStatusTaskInfo
- type TaskDeleteInput
- type TaskExecRequest
- type TaskRunInput
- type VPCStackOutput
- type WkldDescription
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type AWS ¶ added in v0.4.0
type AWS struct{}
AWS is a wrapper around aws commands.
func (*AWS) CreateCodeCommitIAMUser ¶ added in v1.8.0
func (a *AWS) CreateCodeCommitIAMUser(userName string) (*IAMServiceCreds, error)
CreateCodeCommitIAMUser creates an IAM user that can push and pull from codecommit. Returns the credentials needed to interact with codecommit.
func (*AWS) CreateCodeCommitRepo ¶ added in v1.8.0
CreateCodeCommitRepo creates a repository with AWS CodeCommit and returns the HTTP git clone url.
func (*AWS) CreateECRRepo ¶ added in v0.4.0
CreateECRRepo runs: aws ecr create-repository --repository-name $name |
jq -r .repository.repositoryUri
func (*AWS) CreateStack ¶ added in v0.4.0
CreateStack runs: aws cloudformation create-stack
--stack-name $name --template-body $templatePath
func (*AWS) DeleteAllDBClusterSnapshots ¶ added in v1.7.1
DeleteAllDBClusterSnapshots removes all "manual" RDS cluster snapshots to avoid running into snapshot limits.
func (*AWS) DeleteCodeCommitIAMUser ¶ added in v1.8.0
DeleteCodeCommitIAMUser deletes an IAM user that can access codecommit.
func (*AWS) DeleteCodeCommitRepo ¶ added in v1.8.0
DeleteCodeCommitRepo delete a CodeCommit repository.
func (*AWS) DeleteECRRepo ¶ added in v0.4.0
DeleteECRRepo runs: aws ecr delete-repository
--repository-name $name --force
func (*AWS) DeleteStack ¶ added in v0.4.0
DeleteStack runs: aws cloudformation delete-stack --stack-name $name
func (*AWS) ECRLoginPassword ¶ added in v0.4.0
ECRLoginPassword runs: aws ecr get-login-password
func (*AWS) GetFileSystemSize ¶ added in v1.7.0
GetFileSystemSize runs: aws efs describe-file-systems | jq -r '.FileSystems[0].SizeInBytes.Value', which returns the size in bytes of the first filesystem returned by the call.
func (*AWS) VPCStackOutput ¶ added in v0.4.0
func (a *AWS) VPCStackOutput(name string) ([]VPCStackOutput, error)
VPCStackOutput runs: aws cloudformation describe-stacks --stack-name $name |
jq -r .Stacks[0].Outputs
func (*AWS) WaitStackCreateComplete ¶ added in v0.4.0
WaitStackCreateComplete runs: aws cloudformation wait stack-create-complete
--stack-name $name
func (*AWS) WaitStackDeleteComplete ¶ added in v0.4.0
WaitStackDeleteComplete runs: aws cloudformation wait stack-delete-complete
--stack-name $name
type AppInitRequest ¶
AppInitRequest contains the parameters for calling copilot app init.
type AppShowOutput ¶
AppShowOutput is the JSON output of app show.
type CLI ¶
type CLI struct {
// contains filtered or unexported fields
}
CLI is a wrapper around os.execs.
func NewCLIWithDir ¶ added in v1.8.0
NewCLIWithDir returns the Copilot CLI such that the commands are run in the specified working directory.
func (*CLI) AppInit ¶
func (cli *CLI) AppInit(opts *AppInitRequest) (string, error)
AppInit runs: copilot app init $a
--domain $d (optionally) --resource-tags $k1=$v1,$k2=$k2 (optionally)
func (*CLI) AppShow ¶
func (cli *CLI) AppShow(appName string) (*AppShowOutput, error)
AppShow runs: copilot app show
--name $n --json
func (*CLI) EnvInit ¶
func (cli *CLI) EnvInit(opts *EnvInitRequest) (string, error)
EnvInit runs: copilot env init
--name $n --app $a --profile $pr --prod (optional) --default-config (optional) --import-private-subnets (optional) --import-public-subnets (optional) --import-vpc-id (optional) --override-private-cidrs (optional) --override-public-cidrs (optional) --override-vpc-cidr (optional)
func (*CLI) EnvList ¶
func (cli *CLI) EnvList(appName string) (*EnvListOutput, error)
EnvList runs: copilot env ls
--app $a --json
func (*CLI) EnvShow ¶
func (cli *CLI) EnvShow(opts *EnvShowRequest) (*EnvShowOutput, error)
EnvShow runs: copilot env show
--app $a --name $n --json
func (*CLI) Init ¶
func (cli *CLI) Init(opts *InitRequest) (string, error)
Init runs: copilot init
--app $p --svc $s --svc-type $type --tag $t --dockerfile $d --deploy (optionally) --schedule $schedule (optionally) --port $port (optionally)
func (*CLI) JobDeploy ¶ added in v0.7.0
func (cli *CLI) JobDeploy(opts *JobDeployInput) (string, error)
JobDeploy runs: copilot job deploy
--name $n --env $e --tag $t
func (*CLI) JobInit ¶ added in v0.7.0
func (cli *CLI) JobInit(opts *JobInitInput) (string, error)
JobInit runs: copilot job init
--name $n --dockerfile $d --schedule $sched --retries $r --timeout $o
func (*CLI) JobList ¶ added in v0.7.0
func (cli *CLI) JobList(appName string) (*JobListOutput, error)
JobList runs: copilot job ls
--json? --local?
func (*CLI) JobPackage ¶ added in v0.7.0
func (cli *CLI) JobPackage(opts *PackageInput) (string, error)
JobPackage runs: copilot job package
--output-dir $dir --name $name --env $env --app $appname --tag $tag
func (*CLI) PipelineDeploy ¶ added in v1.14.0
PipelineDeploy runs "copilot pipeline deploy".
func (*CLI) PipelineInit ¶ added in v1.8.0
PipelineInit runs "copilot pipeline init".
func (*CLI) PipelineShow ¶ added in v1.8.0
func (cli *CLI) PipelineShow(app string) (*PipelineShowOutput, error)
PipelineShow runs "copilot pipeline show --json"
func (*CLI) PipelineStatus ¶ added in v1.8.0
func (cli *CLI) PipelineStatus(app string) (*PipelineStatusOutput, error)
PipelineStatus runs "copilot pipeline status --json"
func (*CLI) StorageInit ¶ added in v1.5.0
func (cli *CLI) StorageInit(opts *StorageInitRequest) (string, error)
StorageInit runs: copilot storage init
--name $n --storage-type $t --workload $w --engine $e --initial-db $d
func (*CLI) SvcDeploy ¶
func (cli *CLI) SvcDeploy(opts *SvcDeployInput) (string, error)
SvcDeploy runs: copilot svc deploy
--name $n --env $e --tag $t
func (*CLI) SvcExec ¶ added in v1.4.0
func (cli *CLI) SvcExec(opts *SvcExecRequest) (string, error)
SvcExec runs: copilot svc exec
--app $p --env $e --name $n --command $cmd --container $ctnr --task-id $td --yes=false
func (*CLI) SvcInit ¶
func (cli *CLI) SvcInit(opts *SvcInitRequest) (string, error)
SvcInit runs: copilot svc init
--name $n --svc-type $t --port $port
func (*CLI) SvcList ¶
func (cli *CLI) SvcList(appName string) (*SvcListOutput, error)
SvcList runs: copilot svc ls
--app $p --json
func (*CLI) SvcLogs ¶
func (cli *CLI) SvcLogs(opts *SvcLogsRequest) ([]SvcLogsOutput, error)
SvcLogs runs: copilot svc logs
--app $p --name $n --since $s --env $e --json
func (*CLI) SvcPackage ¶ added in v0.7.0
func (cli *CLI) SvcPackage(opts *PackageInput) (string, error)
SvcPackage runs: copilot svc package
--output-dir $dir --name $name --env $env --app $appname
func (*CLI) SvcPause ¶ added in v1.7.0
func (cli *CLI) SvcPause(opts *SvcPauseRequest) (string, error)
SvcPause runs: copilot svc pause
--app $p --name $n --env $e
func (*CLI) SvcResume ¶ added in v1.7.0
func (cli *CLI) SvcResume(opts *SvcResumeRequest) (string, error)
SvcResume runs: copilot svc pause
--app $p --name $n --env $e
func (*CLI) SvcShow ¶
func (cli *CLI) SvcShow(opts *SvcShowRequest) (*SvcShowOutput, error)
SvcShow runs: copilot svc show
--app $p --name $n --json
func (*CLI) SvcStatus ¶ added in v0.4.0
func (cli *CLI) SvcStatus(opts *SvcStatusRequest) (*SvcStatusOutput, error)
SvcStatus runs: copilot svc status
--app $p --env $e --name $n --json
func (*CLI) TaskDelete ¶ added in v1.2.0
func (cli *CLI) TaskDelete(opts *TaskDeleteInput) (string, error)
TaskDelete runs: copilot task delete
--name $n --yes --default (optionally) --app $a (optionally) --env $e (optionally)
func (*CLI) TaskExec ¶ added in v1.4.0
func (cli *CLI) TaskExec(opts *TaskExecRequest) (string, error)
TaskExec runs: copilot task exec
--app $p --env $e --name $n --command $cmd --yes=false
func (*CLI) TaskRun ¶ added in v0.3.0
func (cli *CLI) TaskRun(input *TaskRunInput) (string, error)
TaskRun runs: copilot task run
-n $t --dockerfile $d --app $a (optionally) --env $e (optionally) --command $c (optionally) --env-vars $e1=$v1,$e2=$v2 (optionally) --default (optionally) --follow (optionally)
type Docker ¶ added in v0.4.0
type Docker struct{}
Docker is a wrapper around Docker commands.
func NewDocker ¶ added in v0.4.0
func NewDocker() *Docker
NewDocker returns a wrapper around Docker commands.
type EnvDescription ¶
type EnvDescription struct { Name string `json:"name"` App string `json:"app"` Region string `json:"region"` Account string `json:"accountID"` Prod bool `json:"prod"` RegistryURL string `json:"registryURL"` ExecutionRole string `json:"executionRoleARN"` ManagerRole string `json:"managerRoleARN"` }
EnvDescription contains descriptive info about an environment.
type EnvInitRequest ¶
type EnvInitRequest struct { AppName string EnvName string Profile string Prod bool CustomizedEnv bool VPCImport EnvInitRequestVPCImport VPCConfig EnvInitRequestVPCConfig }
EnvInitRequest contains the parameters for calling copilot env init.
type EnvInitRequestVPCConfig ¶ added in v0.4.0
type EnvInitRequestVPCConfig struct { CIDR string AZs string PublicSubnetCIDRs string PrivateSubnetCIDRs string }
EnvInitRequestVPCConfig contains the parameters for configuring VPC config when calling copilot env init.
type EnvInitRequestVPCImport ¶ added in v0.4.0
EnvInitRequestVPCImport contains the parameters for configuring VPC import when calling copilot env init.
func (EnvInitRequestVPCImport) IsSet ¶ added in v0.4.0
func (e EnvInitRequestVPCImport) IsSet() bool
IsSet returns true if all fields are set.
type EnvListOutput ¶
type EnvListOutput struct {
Envs []EnvDescription `json:"environments"`
}
EnvListOutput is the JSON output of env list.
type EnvShowOutput ¶
type EnvShowOutput struct { Environment EnvDescription `json:"environment"` Services []EnvShowServices `json:"services"` Tags map[string]string `json:"tags"` Resources []map[string]string `json:"resources"` }
EnvShowOutput is the JSON output of env show.
type EnvShowRequest ¶
EnvShowRequest contains the parameters for calling copilot env show.
type EnvShowServices ¶
EnvShowServices contains brief info about a service.
type IAMServiceCreds ¶ added in v1.8.0
type IAMServiceCreds struct { UserName string `json:"ServiceUserName"` // Git username. Password string `json:"ServicePassword"` // Git password. CredentialID string `json:"ServiceSpecificCredentialId"` // ID for the creds in order to delete them. }
IAMServiceCreds represents service-specific IAM credentials.
type InitRequest ¶
type InitRequest struct { AppName string WorkloadName string Deploy bool ImageTag string Dockerfile string WorkloadType string SvcPort string Schedule string }
InitRequest contains the parameters for calling copilot init.
type JobDeployInput ¶ added in v0.7.0
JobDeployInput contains the parameters for calling copilot job deploy.
type JobInitInput ¶ added in v0.7.0
type JobInitInput struct { Name string Dockerfile string Schedule string Retries string Timeout string }
JobInitInput contains the parameters for calling copilot job init.
type JobListOutput ¶ added in v0.7.0
type JobListOutput struct {
Jobs []WkldDescription `json:"jobs"`
}
JobListOutput is the JSON output for job list.
type PackageInput ¶ added in v0.7.0
PackageInput contains the parameters for calling copilot job package.
type PipelineShowOutput ¶ added in v1.8.0
type PipelineShowOutput struct { Name string `json:"name"` Stages []struct { Name string `json:"name"` Category string `json:"category"` } `json:"stages"` }
PipelineShowOutput represents the JSON output of the "pipeline show" command.
type PipelineStatusOutput ¶ added in v1.8.0
type PipelineStatusOutput struct { States []struct { Name string `json:"stageName"` Actions []struct { Name string `json:"name"` Status string `json:"status"` } `json:"actions"` } `json:"stageStates"` }
PipelineStatusOutput represents the JSON output of the "pipeline status" command.
type StorageInitRequest ¶ added in v1.5.0
type StorageInitRequest struct { StorageName string StorageType string WorkloadName string RDSEngine string InitialDBName string }
StorageInitRequest contains the parameters for calling copilot storage init.
type SvcDeployInput ¶
SvcDeployInput contains the parameters for calling copilot svc deploy.
type SvcExecRequest ¶ added in v1.4.0
type SvcExecRequest struct { Name string AppName string Command string TaskID string Container string EnvName string }
SvcExecRequest contains the parameters for calling copilot svc exec.
type SvcInitRequest ¶
type SvcInitRequest struct { Name string SvcType string Dockerfile string Image string SvcPort string TopicSubscriptions []string }
SvcInitRequest contains the parameters for calling copilot svc init.
type SvcListOutput ¶
type SvcListOutput struct {
Services []WkldDescription `json:"services"`
}
SvcListOutput is the JSON output for svc list.
type SvcLogsOutput ¶
type SvcLogsOutput struct { LogStreamName string `json:"logStreamName"` IngestionTime int64 `json:"ingestionTime"` Timestamp int64 `json:"timestamp"` Message string `json:"message"` }
SvcLogsOutput is the JSON output of svc logs.
type SvcLogsRequest ¶
SvcLogsRequest contains the parameters for calling copilot svc logs.
type SvcPauseRequest ¶ added in v1.7.0
SvcPauseRequest contains the parameters for calling copilot svc logs.
type SvcResumeRequest ¶ added in v1.7.0
SvcResumeRequest contains the parameters for calling copilot svc logs.
type SvcShowConfigurations ¶
type SvcShowConfigurations struct { Environment string `json:"environment"` Port string `json:"port"` Tasks string `json:"tasks"` CPU string `json:"cpu"` Memory string `json:"memory"` }
SvcShowConfigurations contains serialized configuration parameters for a service.
type SvcShowOutput ¶
type SvcShowOutput struct { SvcName string `json:"service"` Type string `json:"type"` AppName string `json:"application"` Configs []SvcShowConfigurations `json:"configurations"` ServiceDiscoveries []SvcShowServiceDiscoveries `json:"serviceDiscovery"` Routes []SvcShowRoutes `json:"routes"` Variables []SvcShowVariables `json:"variables"` Resources map[string][]*SvcShowResourceInfo `json:"resources"` }
SvcShowOutput is the JSON output of the svc show.
type SvcShowRequest ¶
SvcShowRequest contains the parameters for calling copilot svc show.
type SvcShowResourceInfo ¶ added in v1.7.0
SvcShowResourceInfo contains serialized resource info for a service.
type SvcShowRoutes ¶
SvcShowRoutes contains serialized route parameters for a web service.
type SvcShowServiceDiscoveries ¶
type SvcShowServiceDiscoveries struct { Environment []string `json:"environment"` Namespace string `json:"namespace"` }
SvcShowServiceDiscoveries contains serialized service discovery info for an service.
type SvcShowVariables ¶
type SvcShowVariables struct { Environment string `json:"environment"` Name string `json:"name"` Value string `json:"value"` }
SvcShowVariables contains serialized environment variables for a service.
type SvcStatusAlarmInfo ¶ added in v0.4.0
type SvcStatusAlarmInfo struct { Arn string `json:"arn"` Name string `json:"name"` Reason string `json:"reason"` Status string `json:"status"` Type string `json:"type"` UpdatedTimes time.Time `json:"updatedTimes"` }
SvcStatusAlarmInfo contains CloudWatch alarm status info.
type SvcStatusOutput ¶ added in v0.4.0
type SvcStatusOutput struct { Status string `json:"status"` Service SvcStatusServiceInfo Tasks []SvcStatusTaskInfo `json:"tasks"` Alarms []SvcStatusAlarmInfo `json:"alarms"` LogEvents []*SvcLogsOutput `json:"logEvents"` }
SvcStatusOutput is the JSON output of the svc status.
type SvcStatusRequest ¶ added in v0.4.0
SvcStatusRequest contains the parameters for calling copilot svc status.
type SvcStatusServiceInfo ¶ added in v0.4.0
type SvcStatusServiceInfo struct { DesiredCount int64 `json:"desiredCount"` RunningCount int64 `json:"runningCount"` Status string `json:"status"` LastDeploymentAt time.Time `json:"lastDeploymentAt"` TaskDefinition string `json:"taskDefinition"` }
SvcStatusServiceInfo contains the status info of a service.
type SvcStatusTaskInfo ¶ added in v0.4.0
type SvcStatusTaskInfo struct { Health string `json:"health"` ID string `json:"id"` Images []Image `json:"images"` LastStatus string `json:"lastStatus"` StartedAt time.Time `json:"startedAt"` StoppedAt time.Time `json:"stoppedAt"` StoppedReason string `json:"stoppedReason"` }
SvcStatusTaskInfo contains the status info of a task.
type TaskDeleteInput ¶ added in v1.2.0
TaskDeleteInput contains the parameters for calling copilot task delete.
type TaskExecRequest ¶ added in v1.4.0
TaskExecRequest contains the parameters for calling copilot task exec.
type TaskRunInput ¶ added in v0.3.0
type TaskRunInput struct { AppName string GroupName string Image string Dockerfile string Subnets []string SecurityGroups []string Env string Command string EnvVars string Default bool Follow bool }
TaskRunInput contains the parameters for calling copilot task run.
type VPCStackOutput ¶ added in v0.4.0
VPCStackOutput is the output for VPC stack.
type WkldDescription ¶ added in v0.7.0
type WkldDescription struct { Name string `json:"name"` Type string `json:"type"` AppName string `json:"app"` }
WkldDescription contains the brief description of the workload.