Browse Source

Generated 2020-01-08 for PartnerBill.

sdk-team 5 years ago
parent
commit
e8c13c8450

+ 4 - 0
ChangeLog.txt

@@ -1,3 +1,7 @@
+2020-03-03 Version: v1.61.21
+- Generated 2020-01-08 for `PartnerBill`.
+- Add first bill method of GetPartnerInstancesMonthBill.
+
 2020-03-03 Version: v1.61.20
 - Generated 2020-01-01 for `geoip`.
 - GeoIP Databases SDK initial release.

+ 129 - 0
services/partnerbill/client.go

@@ -0,0 +1,129 @@
+package partnerbill
+
+//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 Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"reflect"
+
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/auth"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/auth/credentials/provider"
+)
+
+// Client is the sdk client struct, each func corresponds to an OpenAPI
+type Client struct {
+	sdk.Client
+}
+
+// SetClientProperty Set Property by Reflect
+func SetClientProperty(client *Client, propertyName string, propertyValue interface{}) {
+	v := reflect.ValueOf(client).Elem()
+	if v.FieldByName(propertyName).IsValid() && v.FieldByName(propertyName).CanSet() {
+		v.FieldByName(propertyName).Set(reflect.ValueOf(propertyValue))
+	}
+}
+
+// SetEndpointDataToClient Set EndpointMap and ENdpointType
+func SetEndpointDataToClient(client *Client) {
+	SetClientProperty(client, "EndpointMap", GetEndpointMap())
+	SetClientProperty(client, "EndpointType", GetEndpointType())
+}
+
+// NewClient creates a sdk client with environment variables
+func NewClient() (client *Client, err error) {
+	client = &Client{}
+	err = client.Init()
+	SetEndpointDataToClient(client)
+	return
+}
+
+// NewClientWithProvider creates a sdk client with providers
+// usage: https://github.com/aliyun/alibaba-cloud-sdk-go/blob/master/docs/2-Client-EN.md
+func NewClientWithProvider(regionId string, providers ...provider.Provider) (client *Client, err error) {
+	client = &Client{}
+	var pc provider.Provider
+	if len(providers) == 0 {
+		pc = provider.DefaultChain
+	} else {
+		pc = provider.NewProviderChain(providers)
+	}
+	err = client.InitWithProviderChain(regionId, pc)
+	SetEndpointDataToClient(client)
+	return
+}
+
+// NewClientWithOptions creates a sdk client with regionId/sdkConfig/credential
+// this is the common api to create a sdk client
+func NewClientWithOptions(regionId string, config *sdk.Config, credential auth.Credential) (client *Client, err error) {
+	client = &Client{}
+	err = client.InitWithOptions(regionId, config, credential)
+	SetEndpointDataToClient(client)
+	return
+}
+
+// NewClientWithAccessKey is a shortcut to create sdk client with accesskey
+// usage: https://github.com/aliyun/alibaba-cloud-sdk-go/blob/master/docs/2-Client-EN.md
+func NewClientWithAccessKey(regionId, accessKeyId, accessKeySecret string) (client *Client, err error) {
+	client = &Client{}
+	err = client.InitWithAccessKey(regionId, accessKeyId, accessKeySecret)
+	SetEndpointDataToClient(client)
+	return
+}
+
+// NewClientWithStsToken is a shortcut to create sdk client with sts token
+// usage: https://github.com/aliyun/alibaba-cloud-sdk-go/blob/master/docs/2-Client-EN.md
+func NewClientWithStsToken(regionId, stsAccessKeyId, stsAccessKeySecret, stsToken string) (client *Client, err error) {
+	client = &Client{}
+	err = client.InitWithStsToken(regionId, stsAccessKeyId, stsAccessKeySecret, stsToken)
+	SetEndpointDataToClient(client)
+	return
+}
+
+// NewClientWithRamRoleArn is a shortcut to create sdk client with ram roleArn
+// usage: https://github.com/aliyun/alibaba-cloud-sdk-go/blob/master/docs/2-Client-EN.md
+func NewClientWithRamRoleArn(regionId string, accessKeyId, accessKeySecret, roleArn, roleSessionName string) (client *Client, err error) {
+	client = &Client{}
+	err = client.InitWithRamRoleArn(regionId, accessKeyId, accessKeySecret, roleArn, roleSessionName)
+	SetEndpointDataToClient(client)
+	return
+}
+
+// NewClientWithRamRoleArn is a shortcut to create sdk client with ram roleArn and policy
+// usage: https://github.com/aliyun/alibaba-cloud-sdk-go/blob/master/docs/2-Client-EN.md
+func NewClientWithRamRoleArnAndPolicy(regionId string, accessKeyId, accessKeySecret, roleArn, roleSessionName, policy string) (client *Client, err error) {
+	client = &Client{}
+	err = client.InitWithRamRoleArnAndPolicy(regionId, accessKeyId, accessKeySecret, roleArn, roleSessionName, policy)
+	SetEndpointDataToClient(client)
+	return
+}
+
+// NewClientWithEcsRamRole is a shortcut to create sdk client with ecs ram role
+// usage: https://github.com/aliyun/alibaba-cloud-sdk-go/blob/master/docs/2-Client-EN.md
+func NewClientWithEcsRamRole(regionId string, roleName string) (client *Client, err error) {
+	client = &Client{}
+	err = client.InitWithEcsRamRole(regionId, roleName)
+	SetEndpointDataToClient(client)
+	return
+}
+
+// NewClientWithRsaKeyPair is a shortcut to create sdk client with rsa key pair
+// usage: https://github.com/aliyun/alibaba-cloud-sdk-go/blob/master/docs/2-Client-EN.md
+func NewClientWithRsaKeyPair(regionId string, publicKeyId, privateKey string, sessionExpiration int) (client *Client, err error) {
+	client = &Client{}
+	err = client.InitWithRsaKeyPair(regionId, publicKeyId, privateKey, sessionExpiration)
+	SetEndpointDataToClient(client)
+	return
+}

+ 20 - 0
services/partnerbill/endpoint.go

@@ -0,0 +1,20 @@
+package partnerbill
+
+// EndpointMap Endpoint Data
+var EndpointMap map[string]string
+
+// EndpointType regional or central
+var EndpointType = "regional"
+
+// GetEndpointMap Get Endpoint Data Map
+func GetEndpointMap() map[string]string {
+	if EndpointMap == nil {
+		EndpointMap = map[string]string{}
+	}
+	return EndpointMap
+}
+
+// GetEndpointType Get Endpoint Type Value
+func GetEndpointType() string {
+	return EndpointType
+}

+ 110 - 0
services/partnerbill/get_partner_instances_month_bill.go

@@ -0,0 +1,110 @@
+package partnerbill
+
+//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 Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// GetPartnerInstancesMonthBill invokes the partnerbill.GetPartnerInstancesMonthBill API synchronously
+// api document: https://help.aliyun.com/api/partnerbill/getpartnerinstancesmonthbill.html
+func (client *Client) GetPartnerInstancesMonthBill(request *GetPartnerInstancesMonthBillRequest) (response *GetPartnerInstancesMonthBillResponse, err error) {
+	response = CreateGetPartnerInstancesMonthBillResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// GetPartnerInstancesMonthBillWithChan invokes the partnerbill.GetPartnerInstancesMonthBill API asynchronously
+// api document: https://help.aliyun.com/api/partnerbill/getpartnerinstancesmonthbill.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) GetPartnerInstancesMonthBillWithChan(request *GetPartnerInstancesMonthBillRequest) (<-chan *GetPartnerInstancesMonthBillResponse, <-chan error) {
+	responseChan := make(chan *GetPartnerInstancesMonthBillResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.GetPartnerInstancesMonthBill(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// GetPartnerInstancesMonthBillWithCallback invokes the partnerbill.GetPartnerInstancesMonthBill API asynchronously
+// api document: https://help.aliyun.com/api/partnerbill/getpartnerinstancesmonthbill.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) GetPartnerInstancesMonthBillWithCallback(request *GetPartnerInstancesMonthBillRequest, callback func(response *GetPartnerInstancesMonthBillResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *GetPartnerInstancesMonthBillResponse
+		var err error
+		defer close(result)
+		response, err = client.GetPartnerInstancesMonthBill(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// GetPartnerInstancesMonthBillRequest is the request struct for api GetPartnerInstancesMonthBill
+type GetPartnerInstancesMonthBillRequest struct {
+	*requests.RpcRequest
+	AliyunPk            requests.Integer `position:"Query" name:"AliyunPk"`
+	ContainRelatedOrder requests.Boolean `position:"Query" name:"ContainRelatedOrder"`
+	Test                requests.Boolean `position:"Query" name:"Test"`
+	BillPeriod          string           `position:"Query" name:"BillPeriod"`
+}
+
+// GetPartnerInstancesMonthBillResponse is the response struct for api GetPartnerInstancesMonthBill
+type GetPartnerInstancesMonthBillResponse struct {
+	*responses.BaseResponse
+	Code      string `json:"Code" xml:"Code"`
+	Success   bool   `json:"Success" xml:"Success"`
+	Message   string `json:"Message" xml:"Message"`
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	Data      Data   `json:"Data" xml:"Data"`
+}
+
+// CreateGetPartnerInstancesMonthBillRequest creates a request to invoke GetPartnerInstancesMonthBill API
+func CreateGetPartnerInstancesMonthBillRequest() (request *GetPartnerInstancesMonthBillRequest) {
+	request = &GetPartnerInstancesMonthBillRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("PartnerBill", "2020-01-08", "GetPartnerInstancesMonthBill", "GetPartnerInstancesMonthBill", "openAPI")
+	return
+}
+
+// CreateGetPartnerInstancesMonthBillResponse creates a response to parse from GetPartnerInstancesMonthBill response
+func CreateGetPartnerInstancesMonthBillResponse() (response *GetPartnerInstancesMonthBillResponse) {
+	response = &GetPartnerInstancesMonthBillResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 21 - 0
services/partnerbill/struct_data.go

@@ -0,0 +1,21 @@
+package partnerbill
+
+//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 Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+// Data is a nested struct in partnerbill response
+type Data struct {
+	OssFiles []string `json:"OssFiles" xml:"OssFiles"`
+}

+ 21 - 0
services/partnerbill/struct_oss_files.go

@@ -0,0 +1,21 @@
+package partnerbill
+
+//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 Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+// OssFiles is a nested struct in partnerbill response
+type OssFiles struct {
+	OssFiles []string `json:"OssFiles" xml:"OssFiles"`
+}