github.com/chnsz/golangsdk@v0.0.0-20240506093406-85a3fbfa605b/openstack/dms/v2/rabbitmq/instances/results.go (about) 1 package instances 2 3 import ( 4 "github.com/chnsz/golangsdk" 5 "github.com/chnsz/golangsdk/openstack/common/tags" 6 "github.com/chnsz/golangsdk/pagination" 7 ) 8 9 // InstanceCreate response 10 type InstanceCreate struct { 11 InstanceID string `json:"instance_id"` 12 } 13 14 // CreateResult is a struct that contains all the return parameters of creation 15 type CreateResult struct { 16 golangsdk.Result 17 } 18 19 // Extract from CreateResult 20 func (r CreateResult) Extract() (*InstanceCreate, error) { 21 var s InstanceCreate 22 err := r.Result.ExtractInto(&s) 23 return &s, err 24 } 25 26 // DeleteResult is a struct which contains the result of deletion 27 type DeleteResult struct { 28 golangsdk.ErrResult 29 } 30 31 type ListResponse struct { 32 Instances []Instance `json:"instances"` 33 TotalCount int `json:"instance_num"` 34 } 35 36 // Instance response 37 type Instance struct { 38 Name string `json:"name"` 39 Description string `json:"description"` 40 Engine string `json:"engine"` 41 EngineVersion string `json:"engine_version"` 42 Specification string `json:"specification"` 43 StorageSpace int `json:"storage_space"` 44 UsedStorageSpace int `json:"used_storage_space"` 45 ConnectAddress string `json:"connect_address"` 46 Port int `json:"port"` 47 Status string `json:"status"` 48 InstanceID string `json:"instance_id"` 49 ResourceSpecCode string `json:"resource_spec_code"` 50 BrokerNum int `json:"broker_num"` 51 ChargingMode int `json:"charging_mode"` 52 VPCID string `json:"vpc_id"` 53 VPCName string `json:"vpc_name"` 54 CreatedAt string `json:"created_at"` 55 UserID string `json:"user_id"` 56 UserName string `json:"user_name"` 57 OrderID string `json:"order_id"` 58 MaintainBegin string `json:"maintain_begin"` 59 MaintainEnd string `json:"maintain_end"` 60 EnablePublicIP bool `json:"enable_publicip"` 61 PublicIPAddress string `json:"publicip_address"` 62 PublicIPID string `json:"publicip_id"` 63 ManagementConnectAddress string `json:"management_connect_address"` 64 SslEnable bool `json:"ssl_enable"` 65 EnterpriseProjectID string `json:"enterprise_project_id"` 66 IsLogicalVolume bool `json:"is_logical_volume"` 67 ExtendTimes int `json:"extend_times"` 68 Type string `json:"type"` 69 ProductID string `json:"product_id"` 70 SecurityGroupID string `json:"security_group_id"` 71 SecurityGroupName string `json:"security_group_name"` 72 SubnetID string `json:"subnet_id"` 73 AvailableZones []string `json:"available_zones"` 74 TotalStorageSpace int `json:"total_storage_space"` 75 StorageResourceID string `json:"storage_resource_id"` 76 StorageSpecCode string `json:"storage_spec_code"` 77 Ipv6Enable bool `json:"ipv6_enable"` 78 Ipv6ConnectAddresses []string `json:"ipv6_connect_addresses"` 79 ServiceType string `json:"service_type"` 80 StorageType string `json:"storage_type"` 81 PublicBoundWidth int `json:"public_boundwidth"` 82 EnableLogCollect bool `json:"enable_log_collection"` 83 ConnectorEnalbe bool `json:"connector_enable"` 84 ConnectorID string `json:"connector_id"` 85 RestEnable bool `json:"rest_enable"` 86 RestConnectAddress string `json:"rest_connect_address"` 87 MessageQueryInstEnable bool `json:"message_query_inst_enable"` 88 VpcClientPlain bool `json:"vpc_client_plain"` 89 SupportFeatures string `json:"support_features"` 90 TraceEnable bool `json:"trace_enable"` 91 DiskEncrypted bool `json:"disk_encrypted"` 92 CesVersion string `json:"ces_version"` 93 AccessUser string `json:"access_user"` 94 Task Task `json:"task"` 95 Tags []tags.ResourceTag `json:"tags"` 96 } 97 98 type Task struct { 99 Name string `json:"name"` 100 Status string `json:"status"` 101 CreatedAt string `json:"created_at"` 102 } 103 104 // UpdateResult is a struct from which can get the result of update method 105 type UpdateResult struct { 106 golangsdk.Result 107 } 108 109 // GetResult contains the body of getting detailed 110 type GetResult struct { 111 golangsdk.Result 112 } 113 114 // Extract from GetResult 115 func (r GetResult) Extract() (*Instance, error) { 116 var s Instance 117 err := r.Result.ExtractInto(&s) 118 return &s, err 119 } 120 121 type Page struct { 122 pagination.SinglePageBase 123 } 124 125 func (r Page) IsEmpty() (bool, error) { 126 data, err := ExtractInstances(r) 127 if err != nil { 128 return false, err 129 } 130 return len(data.Instances) == 0, err 131 } 132 133 // ExtractCloudServers is a function that takes a ListResult and returns the services' information. 134 func ExtractInstances(r pagination.Page) (ListResponse, error) { 135 var s ListResponse 136 err := (r.(Page)).ExtractInto(&s) 137 return s, err 138 } 139 140 // ResetPasswordResult is a struct that contains all the return parameters of ResetPassword function 141 type ResetPasswordResult struct { 142 golangsdk.Result 143 }