Documentation
¶
Overview ¶
Copyright © 2021 Yale University
This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License along with this program. If not, see <http://www.gnu.org/licenses/>.
Copyright © 2021 Yale University ¶
This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License along with this program. If not, see <http://www.gnu.org/licenses/>.
Copyright © 2021 Yale University ¶
This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License along with this program. If not, see <http://www.gnu.org/licenses/>.
Copyright © 2021 Yale University ¶
This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License along with this program. If not, see <http://www.gnu.org/licenses/>.
Index ¶
- func NewServer(config common.Config) error
- func NotImplemented(w http.ResponseWriter, r *http.Request)
- func TokenMiddleware(psk []byte, public map[string]string, h http.Handler) http.Handler
- type Ec2ImageResponse
- type Ec2ImageVolumeMap
- type Ec2ImageVolumeResponse
- type Ec2InstanceResponse
- type Ec2SnapshotResponse
- type Ec2VolumeAttachment
- type Ec2VolumeResponse
- type LogWriter
- type Volume
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func NotImplemented ¶
func NotImplemented(w http.ResponseWriter, r *http.Request)
NotImplemented handler is a temporary handler for endpoints not yet implemented
Types ¶
type Ec2ImageResponse ¶
type Ec2ImageResponse struct {
Architecture string `json:"architecture"`
CreatedAt string `json:"created_at"`
CreatedBy string `json:"created_by"`
Description string `json:"description"`
ID string `json:"id"`
Name string `json:"name"`
Public bool `json:"public"`
RootDeviceName string `json:"root_device_name"`
RootDeviceType string `json:"root_device_type"`
State string `json:"state"`
Tags []map[string]string `json:"tags"`
Type string `json:"type"`
Volumes Ec2ImageVolumeMap `json:"volumes"`
}
type Ec2ImageVolumeMap ¶ added in v0.2.0
type Ec2ImageVolumeMap map[string]*Ec2ImageVolumeResponse
func (*Ec2ImageVolumeMap) MarshalJSON ¶ added in v0.2.0
func (e *Ec2ImageVolumeMap) MarshalJSON() ([]byte, error)
MarshalJSON for Ec2ImageVolumeMap to return an empty object (`{}`) for nil values (instead of `null`)
type Ec2ImageVolumeResponse ¶
type Ec2InstanceResponse ¶
type Ec2InstanceResponse struct {
Az string `json:"az"`
CreatedAt string `json:"created_at"`
CreatedBy string `json:"created_by"`
ID string `json:"id"`
Image string `json:"image"`
Ip string `json:"ip"`
Key string `json:"key"`
Name string `json:"name"`
Platform string `json:"platform"`
Sgs []map[string]string `json:"sgs"`
State string `json:"state"`
Subnet string `json:"subnet"`
Tags []map[string]string `json:"tags"`
Type string `json:"type"`
Volumes map[string]*Volume `json:"volumes"`
}
type Ec2SnapshotResponse ¶
type Ec2SnapshotResponse struct {
CreatedAt string `json:"created_at"`
Description string `json:"description"`
Encrypted bool `json:"encrypted"`
ID string `json:"id"`
Owner string `json:"owner"`
Progress string `json:"progress"`
Size int64 `json:"size"`
State string `json:"state"`
Tags []map[string]string `json:"tags"`
VolumeID string `json:"volume_id"`
}
type Ec2VolumeAttachment ¶
type Ec2VolumeResponse ¶
type Ec2VolumeResponse struct {
CreatedAt string `json:"created_at"`
ID string `json:"id"`
Size int64 `json:"size"`
Iops int64 `json:"iops"`
Encrypted bool `json:"encrypted"`
State string `json:"state"`
Tags []map[string]string `json:"tags"`
Type string `json:"type"`
Attachments []*Ec2VolumeAttachment `json:"attachments"`
}