github.com/johnnyeven/libtools@v0.0.0-20191126065708-61829c1adf46/clients/rancher/types.go (about) 1 package rancher 2 3 type Services struct { 4 Type string `json:"type"` 5 ResourceType string `json:"resourceType"` 6 Links ServicesLinks `json:"links"` 7 CreateTypes CreateTypes `json:"createTypes"` 8 Actions ServicesActions `json:"actions"` 9 Data []Datum `json:"data"` 10 SortLinks map[string]*string `json:"sortLinks"` 11 Pagination Pagination `json:"pagination"` 12 Sort interface{} `json:"sort"` 13 Filters map[string]*string `json:"filters"` 14 CreateDefaults CreateDefaults `json:"createDefaults"` 15 } 16 17 type ServicesActions struct { 18 } 19 20 type CreateDefaults struct { 21 StackID string `json:"stackId"` 22 } 23 24 type CreateTypes struct { 25 DNSService string `json:"dnsService"` 26 ExternalService string `json:"externalService"` 27 LoadBalancerService string `json:"loadBalancerService"` 28 NetworkDriverService string `json:"networkDriverService"` 29 Service string `json:"service"` 30 StorageDriverService string `json:"storageDriverService"` 31 } 32 33 type Datum struct { 34 ID string `json:"id"` 35 Type string `json:"type"` 36 Links DatumLinks `json:"links"` 37 Actions DatumActions `json:"actions"` 38 BaseType string `json:"baseType"` 39 Name string `json:"name"` 40 State string `json:"state"` 41 AccountID string `json:"accountId"` 42 AssignServiceIPAddress bool `json:"assignServiceIpAddress"` 43 CreateIndex int64 `json:"createIndex"` 44 Created string `json:"created"` 45 CreatedTS int64 `json:"createdTS"` 46 CurrentScale int64 `json:"currentScale"` 47 Description interface{} `json:"description"` 48 ExternalID interface{} `json:"externalId"` 49 FQDN interface{} `json:"fqdn"` 50 HealthState string `json:"healthState"` 51 InstanceIDS []string `json:"instanceIds"` 52 Kind string `json:"kind"` 53 LaunchConfig LaunchConfig `json:"launchConfig"` 54 LBConfig interface{} `json:"lbConfig"` 55 LinkedServices interface{} `json:"linkedServices"` 56 Metadata Metadata `json:"metadata"` 57 PublicEndpoints interface{} `json:"publicEndpoints"` 58 Removed interface{} `json:"removed"` 59 RetainIP interface{} `json:"retainIp"` 60 Scale int64 `json:"scale"` 61 ScalePolicy interface{} `json:"scalePolicy"` 62 SecondaryLaunchConfigs []interface{} `json:"secondaryLaunchConfigs"` 63 SelectorContainer interface{} `json:"selectorContainer"` 64 SelectorLink interface{} `json:"selectorLink"` 65 StackID string `json:"stackId"` 66 StartOnCreate bool `json:"startOnCreate"` 67 System bool `json:"system"` 68 Transitioning string `json:"transitioning"` 69 TransitioningMessage interface{} `json:"transitioningMessage"` 70 TransitioningProgress interface{} `json:"transitioningProgress"` 71 Upgrade Upgrade `json:"upgrade"` 72 UUID string `json:"uuid"` 73 Vip interface{} `json:"vip"` 74 } 75 76 type DatumActions struct { 77 Upgrade string `json:"upgrade"` 78 Restart string `json:"restart"` 79 Update string `json:"update"` 80 Remove string `json:"remove"` 81 Deactivate string `json:"deactivate"` 82 Removeservicelink string `json:"removeservicelink"` 83 Addservicelink string `json:"addservicelink"` 84 Setservicelinks string `json:"setservicelinks"` 85 } 86 87 type LaunchConfig struct { 88 Type string `json:"type"` 89 DNS []string `json:"dns"` 90 DNSSearch []string `json:"dnsSearch"` 91 Environment Environment `json:"environment"` 92 ImageUUID string `json:"imageUuid"` 93 InstanceTriggeredStop string `json:"instanceTriggeredStop"` 94 Kind string `json:"kind"` 95 Labels Labels `json:"labels"` 96 LogConfig LogConfig `json:"logConfig"` 97 Memory int64 `json:"memory"` 98 NetworkMode string `json:"networkMode"` 99 Privileged bool `json:"privileged"` 100 PublishAllPorts bool `json:"publishAllPorts"` 101 ReadOnly bool `json:"readOnly"` 102 RunInit bool `json:"runInit"` 103 StartOnCreate bool `json:"startOnCreate"` 104 StdinOpen bool `json:"stdinOpen"` 105 System bool `json:"system"` 106 TTY bool `json:"tty"` 107 Version string `json:"version"` 108 Vcpu int64 `json:"vcpu"` 109 DrainTimeoutMS int64 `json:"drainTimeoutMs"` 110 } 111 112 type Environment struct { 113 Goenv string `json:"GOENV"` 114 SGeneratealgorithm *string `json:"S_GENERATEALGORITHM,omitempty"` 115 SLogLevel string `json:"S_LOG_LEVEL"` 116 SSnowflakeconfigEpoch *string `json:"S_SNOWFLAKECONFIG_EPOCH,omitempty"` 117 SSnowflakeconfigNodebits *string `json:"S_SNOWFLAKECONFIG_NODEBITS,omitempty"` 118 SSnowflakeconfigStepbits *string `json:"S_SNOWFLAKECONFIG_STEPBITS,omitempty"` 119 SClientidHost *string `json:"S_CLIENTID_HOST,omitempty"` 120 SMasterdbPassword *string `json:"S_MASTERDB_PASSWORD,omitempty"` 121 SMasterdbUser *string `json:"S_MASTERDB_USER,omitempty"` 122 SSlavedbPassword *string `json:"S_SLAVEDB_PASSWORD,omitempty"` 123 SSlavedbUser *string `json:"S_SLAVEDB_USER,omitempty"` 124 } 125 126 type Labels struct { 127 BasePath string `json:"base_path"` 128 IoRancherContainerPullImage string `json:"io.rancher.container.pull_image"` 129 IoRancherContainerStartOnce string `json:"io.rancher.container.start_once"` 130 IoRancherServiceHash string `json:"io.rancher.service.hash"` 131 LBG7PayExpose80 string `json:"lb.g7pay.expose80"` 132 ProjectDescription string `json:"projects.description"` 133 ProjectGroup string `json:"projects.group"` 134 ProjectName string `json:"projects.name"` 135 ProjectVersion string `json:"projects.version"` 136 Upstreams *string `json:"upstreams,omitempty"` 137 } 138 139 type LogConfig struct { 140 Type string `json:"type"` 141 } 142 143 type DatumLinks struct { 144 Self string `json:"self"` 145 Account string `json:"account"` 146 Consumedbyservices string `json:"consumedbyservices"` 147 Consumedservices string `json:"consumedservices"` 148 Instances string `json:"instances"` 149 NetworkDrivers string `json:"networkDrivers"` 150 ServiceExposeMaps string `json:"serviceExposeMaps"` 151 ServiceLogs string `json:"serviceLogs"` 152 Stack string `json:"stack"` 153 StorageDrivers string `json:"storageDrivers"` 154 ContainerStats string `json:"containerStats"` 155 } 156 157 type Metadata struct { 158 IoRancherServiceHash string `json:"io.rancher.service.hash"` 159 } 160 161 type Upgrade struct { 162 Type string `json:"type"` 163 InServiceStrategy InServiceStrategy `json:"inServiceStrategy"` 164 ToServiceStrategy interface{} `json:"toServiceStrategy"` 165 } 166 167 type InServiceStrategy struct { 168 Type string `json:"type"` 169 BatchSize int64 `json:"batchSize"` 170 IntervalMillis int64 `json:"intervalMillis"` 171 LaunchConfig LaunchConfig `json:"launchConfig"` 172 PreviousLaunchConfig LaunchConfig `json:"previousLaunchConfig"` 173 PreviousSecondaryLaunchConfigs []interface{} `json:"previousSecondaryLaunchConfigs"` 174 SecondaryLaunchConfigs []interface{} `json:"secondaryLaunchConfigs"` 175 StartFirst bool `json:"startFirst"` 176 } 177 178 type ServicesLinks struct { 179 Self string `json:"self"` 180 } 181 182 type Pagination struct { 183 First interface{} `json:"first"` 184 Previous interface{} `json:"previous"` 185 Next interface{} `json:"next"` 186 Limit int64 `json:"limit"` 187 Total interface{} `json:"total"` 188 Partial bool `json:"partial"` 189 } 190