// +------------------------------------------------------------------------- // | Copyright (C) 2016 Yunify, Inc. // +------------------------------------------------------------------------- // | Licensed under the Apache License, Version 2.0 (the "License"); // | you may not use this work except in compliance with the License. // | You may obtain a copy of the License in the LICENSE file, or 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. // +------------------------------------------------------------------------- {{$service := .Data.Service}} // Package service provides {{$service.Name}} Service API (API Version {{$service.APIVersion}}) package service import ( "github.com/yunify/qingcloud-sdk-go/config" "github.com/yunify/qingcloud-sdk-go/request" "github.com/yunify/qingcloud-sdk-go/request/data" "github.com/yunify/qingcloud-sdk-go/logger" ) {{if $service.Description}}// {{$service.Name | camelCase}}Service: {{$service.Description}}{{end}} type {{$service.Name | camelCase}}Service struct { Config *config.Config Properties *{{$service.Name | camelCase}}ServiceProperties } type {{$service.Name | camelCase}}ServiceProperties struct { {{template "RenderProperties" passThrough $service.Properties ""}} } func Init(c *config.Config) (*{{$service.Name | camelCase}}Service, error) { properties := &{{$service.Name | camelCase}}ServiceProperties{} logger.SetLevel(c.LogLevel) return &{{$service.Name | camelCase}}Service{Config: c, Properties: properties}, nil } {{range $_, $operation := $service.Operations}} {{$belongs := printf "%sService" ($service.Name | camelCase)}} {{template "RenderOperation" passThrough $belongs $operation}} {{end}}