예제 #1
0
func main() {
	cli := new(ogcli.OpsGenieClient)
	cli.SetAPIKey(constants.APIKey)

	schCli, cliErr := cli.Schedule()

	if cliErr != nil {
		panic(cliErr)
	}

	restrictions := []sch.Restriction{}
	restriction := sch.Restriction{StartDay: "", StartTime: "", EndDay: "", EndTime: ""}
	restrictions = append(restrictions, restriction)

	rotations := []sch.Rotation{}
	rotation := sch.Rotation{Name: "", StartDate: "", EndDate: "", Participants: []string{""}, RotationType: ""}
	rotations = append(rotations, rotation)

	enabled := true

	req := sch.UpdateScheduleRequest{Id: "", Name: "", Timezone: "", Enabled: &enabled, Rotations: rotations}
	response, userErr := schCli.Update(req)

	if userErr != nil {
		panic(userErr)
	}

	fmt.Printf("status: %s\n", response.Status)
	fmt.Printf("code: %d\n", response.Code)
}
예제 #2
0
func main() {
	cli := new(ogcli.OpsGenieClient)
	cli.SetAPIKey(constants.APIKey)

	schCli, cliErr := cli.Schedule()

	if cliErr != nil {
		panic(cliErr)
	}

	req := sch.ListSchedulesRequest{}
	response, schErr := schCli.List(req)

	if schErr != nil {
		panic(schErr)
	}
	for _, sch := range response.Schedules {
		fmt.Printf("Id: %s\n", sch.Id)
		fmt.Printf("Name: %s\n", sch.Name)
		fmt.Printf("Team: %s\n", sch.Team)
		fmt.Printf("Rules:\n")
		for _, rule := range sch.Rules {
			fmt.Printf("Id: %s\n", rule.Id)
			fmt.Printf("Name: %s\n", rule.Name)
			fmt.Printf("StartDate: %s\n", rule.StartDate)
			fmt.Printf("EndDate: %s\n", rule.EndDate)
			fmt.Printf("Rotation Type: %s\n", rule.RotationType)
			fmt.Printf("Rotation Length: %d\n", rule.RotationLength)
			fmt.Printf("Participants: %s\n", rule.Participants)
			fmt.Printf("Restrictions:\n")
			for _, restriction := range rule.Restrictions {
				fmt.Printf("Start Day: %s\n", restriction.StartDay)
				fmt.Printf("Start Time: %s\n", restriction.StartTime)
				fmt.Printf("End Day: %s\n", restriction.EndDay)
				fmt.Printf("End Time: %s\n", restriction.EndTime)
				fmt.Printf("\n")
			}
			fmt.Printf("\n")
		}
		fmt.Printf("\n")
	}
}
예제 #3
0
func main() {
	cli := new(ogcli.OpsGenieClient)
	cli.SetAPIKey(constants.APIKey)

	schCli, cliErr := cli.Schedule()

	if cliErr != nil {
		panic(cliErr)
	}

	req := sch.DeleteScheduleRequest{Name: ""}
	response, schErr := schCli.Delete(req)

	if schErr != nil {
		panic(schErr)
	}

	fmt.Printf("status: %s\n", response.Status)
	fmt.Printf("code: %d\n", response.Code)
}