github.com/minio/console@v1.4.1/models/create_remote_bucket.go (about) 1 // Code generated by go-swagger; DO NOT EDIT. 2 3 // This file is part of MinIO Console Server 4 // Copyright (c) 2023 MinIO, Inc. 5 // 6 // This program is free software: you can redistribute it and/or modify 7 // it under the terms of the GNU Affero General Public License as published by 8 // the Free Software Foundation, either version 3 of the License, or 9 // (at your option) any later version. 10 // 11 // This program is distributed in the hope that it will be useful, 12 // but WITHOUT ANY WARRANTY; without even the implied warranty of 13 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 // GNU Affero General Public License for more details. 15 // 16 // You should have received a copy of the GNU Affero General Public License 17 // along with this program. If not, see <http://www.gnu.org/licenses/>. 18 // 19 20 package models 21 22 // This file was generated by the swagger tool. 23 // Editing this file might prove futile when you re-run the swagger generate command 24 25 import ( 26 "context" 27 "encoding/json" 28 29 "github.com/go-openapi/errors" 30 "github.com/go-openapi/strfmt" 31 "github.com/go-openapi/swag" 32 "github.com/go-openapi/validate" 33 ) 34 35 // CreateRemoteBucket create remote bucket 36 // 37 // swagger:model createRemoteBucket 38 type CreateRemoteBucket struct { 39 40 // access key 41 // Required: true 42 // Min Length: 3 43 AccessKey *string `json:"accessKey"` 44 45 // bandwidth 46 Bandwidth int64 `json:"bandwidth,omitempty"` 47 48 // health check period 49 HealthCheckPeriod int32 `json:"healthCheckPeriod,omitempty"` 50 51 // region 52 Region string `json:"region,omitempty"` 53 54 // secret key 55 // Required: true 56 // Min Length: 8 57 SecretKey *string `json:"secretKey"` 58 59 // source bucket 60 // Required: true 61 SourceBucket *string `json:"sourceBucket"` 62 63 // sync mode 64 // Enum: [async sync] 65 SyncMode *string `json:"syncMode,omitempty"` 66 67 // target bucket 68 // Required: true 69 TargetBucket *string `json:"targetBucket"` 70 71 // target URL 72 // Required: true 73 TargetURL *string `json:"targetURL"` 74 } 75 76 // Validate validates this create remote bucket 77 func (m *CreateRemoteBucket) Validate(formats strfmt.Registry) error { 78 var res []error 79 80 if err := m.validateAccessKey(formats); err != nil { 81 res = append(res, err) 82 } 83 84 if err := m.validateSecretKey(formats); err != nil { 85 res = append(res, err) 86 } 87 88 if err := m.validateSourceBucket(formats); err != nil { 89 res = append(res, err) 90 } 91 92 if err := m.validateSyncMode(formats); err != nil { 93 res = append(res, err) 94 } 95 96 if err := m.validateTargetBucket(formats); err != nil { 97 res = append(res, err) 98 } 99 100 if err := m.validateTargetURL(formats); err != nil { 101 res = append(res, err) 102 } 103 104 if len(res) > 0 { 105 return errors.CompositeValidationError(res...) 106 } 107 return nil 108 } 109 110 func (m *CreateRemoteBucket) validateAccessKey(formats strfmt.Registry) error { 111 112 if err := validate.Required("accessKey", "body", m.AccessKey); err != nil { 113 return err 114 } 115 116 if err := validate.MinLength("accessKey", "body", *m.AccessKey, 3); err != nil { 117 return err 118 } 119 120 return nil 121 } 122 123 func (m *CreateRemoteBucket) validateSecretKey(formats strfmt.Registry) error { 124 125 if err := validate.Required("secretKey", "body", m.SecretKey); err != nil { 126 return err 127 } 128 129 if err := validate.MinLength("secretKey", "body", *m.SecretKey, 8); err != nil { 130 return err 131 } 132 133 return nil 134 } 135 136 func (m *CreateRemoteBucket) validateSourceBucket(formats strfmt.Registry) error { 137 138 if err := validate.Required("sourceBucket", "body", m.SourceBucket); err != nil { 139 return err 140 } 141 142 return nil 143 } 144 145 var createRemoteBucketTypeSyncModePropEnum []interface{} 146 147 func init() { 148 var res []string 149 if err := json.Unmarshal([]byte(`["async","sync"]`), &res); err != nil { 150 panic(err) 151 } 152 for _, v := range res { 153 createRemoteBucketTypeSyncModePropEnum = append(createRemoteBucketTypeSyncModePropEnum, v) 154 } 155 } 156 157 const ( 158 159 // CreateRemoteBucketSyncModeAsync captures enum value "async" 160 CreateRemoteBucketSyncModeAsync string = "async" 161 162 // CreateRemoteBucketSyncModeSync captures enum value "sync" 163 CreateRemoteBucketSyncModeSync string = "sync" 164 ) 165 166 // prop value enum 167 func (m *CreateRemoteBucket) validateSyncModeEnum(path, location string, value string) error { 168 if err := validate.EnumCase(path, location, value, createRemoteBucketTypeSyncModePropEnum, true); err != nil { 169 return err 170 } 171 return nil 172 } 173 174 func (m *CreateRemoteBucket) validateSyncMode(formats strfmt.Registry) error { 175 if swag.IsZero(m.SyncMode) { // not required 176 return nil 177 } 178 179 // value enum 180 if err := m.validateSyncModeEnum("syncMode", "body", *m.SyncMode); err != nil { 181 return err 182 } 183 184 return nil 185 } 186 187 func (m *CreateRemoteBucket) validateTargetBucket(formats strfmt.Registry) error { 188 189 if err := validate.Required("targetBucket", "body", m.TargetBucket); err != nil { 190 return err 191 } 192 193 return nil 194 } 195 196 func (m *CreateRemoteBucket) validateTargetURL(formats strfmt.Registry) error { 197 198 if err := validate.Required("targetURL", "body", m.TargetURL); err != nil { 199 return err 200 } 201 202 return nil 203 } 204 205 // ContextValidate validates this create remote bucket based on context it is used 206 func (m *CreateRemoteBucket) ContextValidate(ctx context.Context, formats strfmt.Registry) error { 207 return nil 208 } 209 210 // MarshalBinary interface implementation 211 func (m *CreateRemoteBucket) MarshalBinary() ([]byte, error) { 212 if m == nil { 213 return nil, nil 214 } 215 return swag.WriteJSON(m) 216 } 217 218 // UnmarshalBinary interface implementation 219 func (m *CreateRemoteBucket) UnmarshalBinary(b []byte) error { 220 var res CreateRemoteBucket 221 if err := swag.ReadJSON(b, &res); err != nil { 222 return err 223 } 224 *m = res 225 return nil 226 }