// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//     http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

// Code generated by model-api-gen. DO NOT EDIT.

package devtool

import (
	time "time"

	"yunion.io/x/onecloud/pkg/apis"
	ansible "yunion.io/x/onecloud/pkg/util/ansible"
)

// SCronjob is an autogenerated struct via yunion.io/x/onecloud/pkg/devtool/models.SCronjob.
type SCronjob struct {
	SVSCronjob
	AnsiblePlaybookID string `json:"ansible_playbook_id"`
	TemplateID        string `json:"template_id"`
	ServerID          string `json:"server_id"`
	apis.SVirtualResourceBase
}

// SDevtoolTemplate is an autogenerated struct via yunion.io/x/onecloud/pkg/devtool/models.SDevtoolTemplate.
type SDevtoolTemplate struct {
	SVSCronjob
	Playbook *ansible.Playbook `json:"playbook"`
	apis.SVirtualResourceBase
}

// SScript is an autogenerated struct via yunion.io/x/onecloud/pkg/devtool/models.SScript.
type SScript struct {
	apis.SVirtualResourceBase
	// remote
	Type              string `json:"type"`
	PlaybookReference string `json:"playbook_reference"`
	MaxTryTimes       int    `json:"max_try_times"`
}

// SScriptApply is an autogenerated struct via yunion.io/x/onecloud/pkg/devtool/models.SScriptApply.
type SScriptApply struct {
	apis.SStatusStandaloneResourceBase
	ScriptId        string `json:"script_id"`
	GuestId         string `json:"guest_id"`
	EipFirst        *bool  `json:"eip_first,omitempty"`
	ProxyEndpointId string `json:"proxy_endpoint_id"`
	TryTimes        int    `json:"try_times"`
}

// SScriptApplyRecord is an autogenerated struct via yunion.io/x/onecloud/pkg/devtool/models.SScriptApplyRecord.
type SScriptApplyRecord struct {
	apis.SStatusStandaloneResourceBase
	ScriptApplyId string    `json:"script_apply_id"`
	StartTime     time.Time `json:"start_time"`
	EndTime       time.Time `json:"end_time"`
	Reason        string    `json:"reason"`
}

// SVSCronjob is an autogenerated struct via yunion.io/x/onecloud/pkg/devtool/models.SVSCronjob.
type SVSCronjob struct {
	Day      int   `json:"day"`
	Hour     int   `json:"hour"`
	Min      int   `json:"min"`
	Sec      int   `json:"sec"`
	Interval int64 `json:"interval"`
	Start    bool  `json:"start"`
	Enabled  bool  `json:"enabled"`
}
