func killJSONPayload()

in spinnaker/terminator.go [108:138]


func killJSONPayload(ins chaosmonkey.Instance, otherID string, spinnakerUser string) []byte {
	var desc string
	if otherID != "" {
		desc = fmt.Sprintf("Chaos Monkey terminate instance: %s %s (%s, %s, %s)", ins.ID(), otherID, ins.AccountName(), ins.RegionName(), ins.ASGName())
	} else {
		desc = fmt.Sprintf("Chaos Monkey terminate instance: %s (%s, %s, %s)", ins.ID(), ins.AccountName(), ins.RegionName(), ins.ASGName())
	}

	p := killPayload{
		Application: ins.AppName(),
		Description: desc,
		Job: []kpJob{
			{
				User:            spinnakerUser,
				Type:            terminateType,
				Credentials:     ins.AccountName(),
				Region:          ins.RegionName(),
				ServerGroupName: ins.ASGName(),
				InstanceIDs:     []string{ins.ID()},
				CloudProvider:   ins.CloudProvider(),
			},
		},
	}

	result, err := json.Marshal(p)
	if err != nil {
		log.Fatalf("chronos.jsonPayload could not marshal data into json: %v", err)
	}

	return result
}