package oceanbasepro

//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.

// Instance is a nested struct in oceanbasepro response
type Instance struct {
	InstanceId                                string                  `json:"InstanceId" xml:"InstanceId"`
	InstanceName                              string                  `json:"InstanceName" xml:"InstanceName"`
	InstanceClass                             string                  `json:"InstanceClass" xml:"InstanceClass"`
	Series                                    string                  `json:"Series" xml:"Series"`
	PayType                                   string                  `json:"PayType" xml:"PayType"`
	CreateTime                                string                  `json:"CreateTime" xml:"CreateTime"`
	ExpireTime                                string                  `json:"ExpireTime" xml:"ExpireTime"`
	Version                                   string                  `json:"Version" xml:"Version"`
	DeployType                                string                  `json:"DeployType" xml:"DeployType"`
	DeployMode                                string                  `json:"DeployMode" xml:"DeployMode"`
	DiskType                                  string                  `json:"DiskType" xml:"DiskType"`
	MaintainTime                              string                  `json:"MaintainTime" xml:"MaintainTime"`
	DataMergeTime                             string                  `json:"DataMergeTime" xml:"DataMergeTime"`
	AutoRenewal                               bool                    `json:"AutoRenewal" xml:"AutoRenewal"`
	IsTrustEcs                                bool                    `json:"IsTrustEcs" xml:"IsTrustEcs"`
	Status                                    string                  `json:"Status" xml:"Status"`
	AutoUpgradeObVersion                      bool                    `json:"AutoUpgradeObVersion" xml:"AutoUpgradeObVersion"`
	ObRpmVersion                              string                  `json:"ObRpmVersion" xml:"ObRpmVersion"`
	IsLatestObVersion                         bool                    `json:"IsLatestObVersion" xml:"IsLatestObVersion"`
	EnableUpgradeLogDisk                      bool                    `json:"EnableUpgradeLogDisk" xml:"EnableUpgradeLogDisk"`
	InstanceRole                              string                  `json:"InstanceRole" xml:"InstanceRole"`
	NodeNum                                   string                  `json:"NodeNum" xml:"NodeNum"`
	ReplicaMode                               string                  `json:"ReplicaMode" xml:"ReplicaMode"`
	IsolationOptimization                     bool                    `json:"IsolationOptimization" xml:"IsolationOptimization"`
	EnableIsolationOptimization               bool                    `json:"EnableIsolationOptimization" xml:"EnableIsolationOptimization"`
	InTempCapacityStatus                      bool                    `json:"InTempCapacityStatus" xml:"InTempCapacityStatus"`
	DataDiskAutoScale                         bool                    `json:"DataDiskAutoScale" xml:"DataDiskAutoScale"`
	EnableProxyService                        bool                    `json:"EnableProxyService" xml:"EnableProxyService"`
	ProxyServiceStatus                        string                  `json:"ProxyServiceStatus" xml:"ProxyServiceStatus"`
	ProxyClusterId                            string                  `json:"ProxyClusterId" xml:"ProxyClusterId"`
	CpuArchitecture                           string                  `json:"CpuArchitecture" xml:"CpuArchitecture"`
	UnitSpec                                  string                  `json:"UnitSpec" xml:"UnitSpec"`
	SharedUnitNumLimit                        int                     `json:"SharedUnitNumLimit" xml:"SharedUnitNumLimit"`
	ExclusiveUnitNumLimit                     int                     `json:"ExclusiveUnitNumLimit" xml:"ExclusiveUnitNumLimit"`
	EnableReadOnlyReplica                     bool                    `json:"EnableReadOnlyReplica" xml:"EnableReadOnlyReplica"`
	EnableReadOnlyReplicaManagement           bool                    `json:"EnableReadOnlyReplicaManagement" xml:"EnableReadOnlyReplicaManagement"`
	PrimaryInstance                           string                  `json:"PrimaryInstance" xml:"PrimaryInstance"`
	PrimaryRegion                             string                  `json:"PrimaryRegion" xml:"PrimaryRegion"`
	SpecType                                  string                  `json:"SpecType" xml:"SpecType"`
	AllowModifyInternetAddressConnectionLimit bool                    `json:"AllowModifyInternetAddressConnectionLimit" xml:"AllowModifyInternetAddressConnectionLimit"`
	AllowCreateProxySqlFirewallRule           bool                    `json:"AllowCreateProxySqlFirewallRule" xml:"AllowCreateProxySqlFirewallRule"`
	AvailableZones                            []string                `json:"AvailableZones" xml:"AvailableZones"`
	Zones                                     []string                `json:"Zones" xml:"Zones"`
	Resource                                  Resource                `json:"Resource" xml:"Resource"`
	TenantCreatable                           TenantCreatable         `json:"TenantCreatable" xml:"TenantCreatable"`
	DataDiskAutoScaleConfig                   DataDiskAutoScaleConfig `json:"DataDiskAutoScaleConfig" xml:"DataDiskAutoScaleConfig"`
	ReadOnlyResource                          ReadOnlyResource        `json:"ReadOnlyResource" xml:"ReadOnlyResource"`
}
