cloudfoundry-incubator/eirini

View on GitHub
models/cf/models.go

Summary

Maintainability
A
0 mins
Test Coverage
package cf

import (
    "encoding/json"
)

type VolumeMount struct {
    VolumeID string `json:"volume_id"`
    MountDir string `json:"mount_dir"`
}

type DesiredLRP struct {
    ProcessGUID string                     `json:"process_guid"`
    Instances   int32                      `json:"instances"`
    Routes      map[string]json.RawMessage `json:"routes,omitempty"`
    Annotation  string                     `json:"annotation"`
    Image       string                     `json:"image"`
}

type DesiredLRPResponse struct {
    DesiredLRP DesiredLRP `json:"desired_lrp"`
}

type DesireLRPRequest struct {
    GUID                    string                     `json:"guid"`
    Version                 string                     `json:"version"`
    ProcessGUID             string                     `json:"process_guid"`
    ProcessType             string                     `json:"process_type"`
    AppGUID                 string                     `json:"app_guid"`
    AppName                 string                     `json:"app_name"`
    SpaceGUID               string                     `json:"space_guid"`
    SpaceName               string                     `json:"space_name"`
    OrganizationGUID        string                     `json:"organization_guid"`
    OrganizationName        string                     `json:"organization_name"`
    Namespace               string                     `json:"namespace"`
    PlacementTags           []string                   `json:"placement_tags"`
    Ports                   []int32                    `json:"ports"`
    Routes                  map[string]json.RawMessage `json:"routes"`
    Environment             map[string]string          `json:"environment"`
    EgressRules             []json.RawMessage          `json:"egress_rules"`
    NumInstances            int                        `json:"instances"`
    LastUpdated             string                     `json:"last_updated"`
    HealthCheckType         string                     `json:"health_check_type"`
    HealthCheckHTTPEndpoint string                     `json:"health_check_http_endpoint"`
    HealthCheckTimeoutMs    uint                       `json:"health_check_timeout_ms"`
    StartTimeoutMs          uint                       `json:"start_timeout_ms"`
    MemoryMB                int64                      `json:"memory_mb"`
    DiskMB                  int64                      `json:"disk_mb"`
    CPUWeight               uint8                      `json:"cpu_weight"`
    VolumeMounts            []VolumeMount              `json:"volume_mounts"`
    Lifecycle               Lifecycle                  `json:"lifecycle"`
    UserDefinedAnnotations  map[string]string          `json:"user_defined_annotations"`
    LRP                     string
}

type DesiredLRPSchedulingInfo struct {
    DesiredLRPKey `json:"desired_lrp_key"`
    GUID          string `json:"guid"`
    Version       string `json:"version"`
    Annotation    string `json:"annotation"`
}

type DesiredLRPKey struct {
    ProcessGUID string `json:"process_guid"`
}

type DesiredLRPSchedulingInfosResponse struct {
    DesiredLrpSchedulingInfos []DesiredLRPSchedulingInfo `json:"desired_lrp_scheduling_infos"`
}

type DesiredLRPLifecycleResponse struct {
    Error Error `json:"error,omitempty"`
}

type Lifecycle struct {
    DockerLifecycle *DockerLifecycle `json:"docker_lifecycle"`
}

type DockerLifecycle struct {
    Image            string   `json:"image"`
    Command          []string `json:"command"`
    RegistryUsername string   `json:"registry_username"`
    RegistryPassword string   `json:"registry_password"`
}

type TaskRequest struct {
    GUID               string                `json:"guid"`
    Name               string                `json:"name"`
    AppGUID            string                `json:"app_guid"`
    AppName            string                `json:"app_name"`
    OrgName            string                `json:"org_name"`
    OrgGUID            string                `json:"org_guid"`
    SpaceName          string                `json:"space_name"`
    SpaceGUID          string                `json:"space_guid"`
    Namespace          string                `json:"namespace"`
    CompletionCallback string                `json:"completion_callback"`
    Environment        []EnvironmentVariable `json:"environment"`
    Lifecycle          Lifecycle             `json:"lifecycle"`
}

type TaskResponse struct {
    GUID string `json:"guid"`
}

type TasksResponse []TaskResponse

type TaskCompletedRequest struct {
    TaskGUID      string `json:"task_guid"`
    Failed        bool   `json:"failed"`
    FailureReason string `json:"failure_reason"`
}

type StagingRequest struct {
    AppGUID            string                `json:"app_guid"`
    AppName            string                `json:"app_name"`
    OrgName            string                `json:"org_name"`
    OrgGUID            string                `json:"org_guid"`
    SpaceName          string                `json:"space_name"`
    SpaceGUID          string                `json:"space_guid"`
    CompletionCallback string                `json:"completion_callback"`
    Environment        []EnvironmentVariable `json:"environment"`
    Lifecycle          StagingLifecycle      `json:"lifecycle"`
    MemoryMB           int64                 `json:"memory_mb"`
    DiskMB             int64                 `json:"disk_mb"`
    CPUWeight          uint8                 `json:"cpu_weight"`
}

type StagingCompletedRequest struct {
    TaskGUID      string `json:"task_guid"`
    Failed        bool   `json:"failed"`
    FailureReason string `json:"failure_reason"`
    Result        string `json:"result"`
    Annotation    string `json:"annotation,omitempty"`
}

type StagingLifecycle struct {
    DockerLifecycle *StagingDockerLifecycle `json:"docker_lifecycle"`
}

type StagingDockerLifecycle struct {
    Image            string `json:"image"`
    RegistryUsername string `json:"registry_username"`
    RegistryPassword string `json:"registry_password"`
}

type EnvironmentVariable struct {
    Name  string `json:"name"`
    Value string `json:"value"`
}

type UpdateDesiredLRPRequest struct {
    GUID    string           `json:"guid"`
    Version string           `json:"version"`
    Update  DesiredLRPUpdate `json:"update,omitempty"`
}

type DesiredLRPUpdate struct {
    Instances  int    `json:"instances"`
    Annotation string `json:"annotation"`
    Image      string `json:"image"`
}

type GetInstancesResponse struct {
    Error       string      `json:"error,omitempty"`
    ProcessGUID string      `json:"process_guid"`
    Instances   []*Instance `json:"instances"`
}

type Instance struct {
    Index          int    `json:"index"`
    Since          int64  `json:"since"`
    State          string `json:"state"`
    PlacementError string `json:"placement_error,omitempty"`
}

type Route struct {
    Hostname string `json:"hostname"`
    Port     int32  `json:"port"`
}

type AppCrashedRequest struct {
    Instance        string `json:"instance"`
    Index           int    `json:"index"`
    Reason          string `json:"reason"`
    ExitStatus      int    `json:"exit_status,omitempty"`
    ExitDescription string `json:"exit_description,omitempty"`
    CrashCount      int    `json:"crash_count"`
    CrashTimestamp  int64  `json:"crash_timestamp"`
}

type Error struct {
    Message string `json:"message"`
}