github.com/cloudwan/edgelq-sdk@v1.15.4/audit/resources/v1alpha2/audited_resource_descriptor/audited_resource_descriptor.pb.name.go (about) 1 // Code generated by protoc-gen-goten-resource 2 // Resource: AuditedResourceDescriptor 3 // DO NOT EDIT!!! 4 5 package audited_resource_descriptor 6 7 import ( 8 "fmt" 9 "net/url" 10 "reflect" 11 "regexp" 12 "strings" 13 14 "google.golang.org/grpc/codes" 15 "google.golang.org/grpc/status" 16 "google.golang.org/protobuf/proto" 17 18 "github.com/cloudwan/goten-sdk/runtime/goten" 19 gotenresource "github.com/cloudwan/goten-sdk/runtime/resource" 20 ) 21 22 // proto imports 23 import ( 24 common "github.com/cloudwan/edgelq-sdk/audit/resources/v1alpha2/common" 25 meta "github.com/cloudwan/goten-sdk/types/meta" 26 ) 27 28 // ensure the imports are used 29 var ( 30 _ = codes.NotFound 31 _ = new(fmt.Stringer) 32 _ = new(proto.Message) 33 _ = status.Status{} 34 _ = url.URL{} 35 _ = strings.Builder{} 36 37 _ = new(goten.GotenMessage) 38 _ = new(gotenresource.ListQuery) 39 ) 40 41 // make sure we're using proto imports 42 var ( 43 _ = &common.Authentication{} 44 _ = &meta.Meta{} 45 ) 46 47 var auditedResourceDescriptor_RegexpId = regexp.MustCompile("^(?P<audited_resource_descriptor_id>[\\w./-]{1,128}/[\\w./-]{1,128})$") 48 var regexPath = regexp.MustCompile("^auditedResourceDescriptors/(?P<audited_resource_descriptor_id>-|[\\w./-]{1,128}/[\\w./-]{1,128})$") 49 50 func (r *AuditedResourceDescriptor) MaybePopulateDefaults() error { 51 auditedResourceDescriptorInterface := interface{}(r) 52 if defaulter, ok := auditedResourceDescriptorInterface.(goten.Defaulter); ok { 53 return defaulter.PopulateDefaults() 54 } 55 return nil 56 } 57 58 type Name struct { 59 NamePattern 60 AuditedResourceDescriptorId string `firestore:"auditedResourceDescriptorId"` 61 } 62 63 func ParseName(name string) (*Name, error) { 64 var matches []string 65 if matches = regexPath.FindStringSubmatch(name); matches != nil { 66 return NewNameBuilder(). 67 SetId(matches[1]). 68 Name(), nil 69 } 70 71 return nil, status.Errorf(codes.InvalidArgument, "unable to parse '%s' as AuditedResourceDescriptor name", name) 72 } 73 74 func MustParseName(name string) *Name { 75 result, err := ParseName(name) 76 if err != nil { 77 panic(err) 78 } 79 return result 80 } 81 82 func ParseNameOrId(nameOrId string) (*Name, error) { 83 name, err := ParseName(nameOrId) 84 if err == nil { 85 return name, err 86 } 87 if auditedResourceDescriptor_RegexpId.MatchString(nameOrId) { 88 return &Name{AuditedResourceDescriptorId: nameOrId}, nil 89 } else { 90 return nil, fmt.Errorf("unable to parse '%s' as AuditedResourceDescriptor name or id", nameOrId) 91 } 92 } 93 94 func (name *Name) SetFromSegments(segments gotenresource.NameSegments) error { 95 if len(segments) == 0 { 96 return status.Errorf(codes.InvalidArgument, "No segments given for AuditedResourceDescriptor name") 97 } 98 if segments[len(segments)-1].CollectionLowerJson != "auditedResourceDescriptors" { 99 return status.Errorf(codes.InvalidArgument, "unable to use segments %s to form AuditedResourceDescriptor name", segments) 100 } 101 name.Pattern = NamePattern_Nil 102 name.AuditedResourceDescriptorId = segments[len(segments)-1].Id 103 return nil 104 } 105 106 func (name *Name) IsSpecified() bool { 107 if name == nil || name.Pattern == "" || name.AuditedResourceDescriptorId == "" { 108 return false 109 } 110 return name.Pattern == NamePattern_Nil 111 } 112 113 func (name *Name) IsFullyQualified() bool { 114 if name == nil { 115 return false 116 } 117 if name.AuditedResourceDescriptorId == "" || name.AuditedResourceDescriptorId == gotenresource.WildcardId { 118 return false 119 } 120 return true 121 } 122 123 func (name *Name) FullyQualifiedName() (string, error) { 124 if !name.IsFullyQualified() { 125 return "", status.Errorf(codes.InvalidArgument, "Name for AuditedResourceDescriptor is not fully qualified") 126 } 127 return fmt.Sprintf("//audit.edgelq.com/%s", name.String()), nil 128 } 129 130 func (name *Name) String() string { 131 if name == nil { 132 return "<nil>" 133 } 134 if valueStr, err := name.ProtoString(); err != nil { 135 panic(err) 136 } else { 137 return valueStr 138 } 139 } 140 141 func (name *Name) AsReference() *Reference { 142 return &Reference{Name: *name} 143 } 144 145 func (name *Name) AsRawReference() gotenresource.Reference { 146 return name.AsReference() 147 } 148 149 func (name *Name) GetResourceDescriptor() gotenresource.Descriptor { 150 return descriptor 151 } 152 153 func (name *Name) GetPattern() gotenresource.NamePattern { 154 if name == nil { 155 return "" 156 } 157 return name.Pattern 158 } 159 160 func (name *Name) GetIdParts() map[string]string { 161 if name != nil { 162 return map[string]string{ 163 "auditedResourceDescriptorId": name.AuditedResourceDescriptorId, 164 } 165 } 166 return map[string]string{ 167 "auditedResourceDescriptorId": "", 168 } 169 } 170 171 func (name *Name) GetSegments() gotenresource.NameSegments { 172 if name == nil || name.Pattern == "" { 173 return nil 174 } 175 return gotenresource.NameSegments{{ 176 CollectionLowerJson: "auditedResourceDescriptors", 177 Id: name.AuditedResourceDescriptorId, 178 }} 179 } 180 181 func (name *Name) GetIParentName() gotenresource.Name { 182 return nil 183 } 184 185 func (name *Name) GetIUnderlyingParentName() gotenresource.Name { 186 return nil 187 } 188 189 // implement methods required by protobuf-go library for string-struct conversion 190 191 func (name *Name) ProtoString() (string, error) { 192 if name == nil { 193 return "", nil 194 } 195 result := "" 196 result += "auditedResourceDescriptors/" + name.AuditedResourceDescriptorId 197 return result, nil 198 } 199 200 func (name *Name) ParseProtoString(data string) error { 201 parsed, err := ParseName(data) 202 if err != nil { 203 return err 204 } 205 *name = *parsed 206 return nil 207 } 208 209 // GotenEqual returns true if other is of same type and paths are equal (implements goten.Equaler interface) 210 func (name *Name) GotenEqual(other interface{}) bool { 211 if other == nil { 212 return name == nil 213 } 214 other1, ok := other.(*Name) 215 if !ok { 216 other2, ok := other.(Name) 217 if ok { 218 other1 = &other2 219 } else { 220 return false 221 } 222 } 223 if other1 == nil { 224 return name == nil 225 } else if name == nil { 226 return false 227 } 228 if name.AuditedResourceDescriptorId != other1.AuditedResourceDescriptorId { 229 return false 230 } 231 232 return true 233 } 234 235 // Matches is same as GotenEqual, but also will accept "other" if name is wildcard. 236 func (name *Name) Matches(other interface{}) bool { 237 if other == nil { 238 return name == nil 239 } 240 other1, ok := other.(*Name) 241 if !ok { 242 other2, ok := other.(Name) 243 if ok { 244 other1 = &other2 245 } else { 246 return false 247 } 248 } 249 if other1 == nil { 250 return name == nil 251 } else if name == nil { 252 return false 253 } 254 if name.AuditedResourceDescriptorId != other1.AuditedResourceDescriptorId { 255 return name.AuditedResourceDescriptorId == gotenresource.WildcardId 256 } 257 258 return true 259 } 260 261 // implement CustomTypeCliValue method 262 func (name *Name) SetFromCliFlag(raw string) error { 263 parsedName, err := ParseName(raw) 264 if err != nil { 265 return err 266 } 267 *name = *parsedName 268 return nil 269 } 270 271 type Reference struct { 272 Name 273 auditedResourceDescriptor *AuditedResourceDescriptor 274 } 275 276 func MakeReference(name *Name, auditedResourceDescriptor *AuditedResourceDescriptor) (*Reference, error) { 277 return &Reference{ 278 Name: *name, 279 auditedResourceDescriptor: auditedResourceDescriptor, 280 }, nil 281 } 282 283 func ParseReference(name string) (*Reference, error) { 284 parsedName, err := ParseName(name) 285 if err != nil { 286 return nil, err 287 } 288 return MakeReference(parsedName, nil) 289 } 290 291 func MustParseReference(name string) *Reference { 292 result, err := ParseReference(name) 293 if err != nil { 294 panic(err) 295 } 296 return result 297 } 298 299 func (ref *Reference) Resolve(resolved *AuditedResourceDescriptor) { 300 ref.auditedResourceDescriptor = resolved 301 } 302 303 func (ref *Reference) ResolveRaw(res gotenresource.Resource) error { 304 if res == nil { 305 ref.Resolve(nil) 306 return nil 307 } 308 if typedRes, ok := res.(*AuditedResourceDescriptor); ok { 309 ref.Resolve(typedRes) 310 return nil 311 } 312 return status.Errorf(codes.Internal, "Invalid resource type for AuditedResourceDescriptor: %s", reflect.TypeOf(res).Elem().Name()) 313 } 314 315 func (ref *Reference) Resolved() bool { 316 return ref != nil && ref.auditedResourceDescriptor != nil 317 } 318 319 func (ref *Reference) ClearCached() { 320 ref.auditedResourceDescriptor = nil 321 } 322 323 func (ref *Reference) GetAuditedResourceDescriptor() *AuditedResourceDescriptor { 324 if ref == nil { 325 return nil 326 } 327 return ref.auditedResourceDescriptor 328 } 329 330 func (ref *Reference) GetRawResource() gotenresource.Resource { 331 if ref == nil { 332 return (*AuditedResourceDescriptor)(nil) 333 } 334 return ref.auditedResourceDescriptor 335 } 336 337 func (ref *Reference) IsFullyQualified() bool { 338 if ref == nil { 339 return false 340 } 341 return ref.Name.IsFullyQualified() 342 } 343 344 func (ref *Reference) IsSpecified() bool { 345 if ref == nil { 346 return false 347 } 348 return ref.Name.IsSpecified() 349 } 350 351 func (ref *Reference) FullyQualifiedName() (string, error) { 352 if !ref.IsFullyQualified() { 353 return "", status.Errorf(codes.InvalidArgument, "Name for AuditedResourceDescriptor is not fully qualified") 354 } 355 return fmt.Sprintf("//audit.edgelq.com/%s", ref.String()), nil 356 } 357 358 func (ref *Reference) GetResourceDescriptor() gotenresource.Descriptor { 359 return descriptor 360 } 361 362 func (ref *Reference) GetPattern() gotenresource.NamePattern { 363 if ref == nil { 364 return "" 365 } 366 return ref.Pattern 367 } 368 369 func (ref *Reference) GetIdParts() map[string]string { 370 if ref != nil { 371 return ref.Name.GetIdParts() 372 } 373 return map[string]string{ 374 "auditedResourceDescriptorId": "", 375 } 376 } 377 378 func (ref *Reference) GetSegments() gotenresource.NameSegments { 379 if ref != nil { 380 return ref.Name.GetSegments() 381 } 382 return nil 383 } 384 385 func (ref *Reference) GetIParentName() gotenresource.Name { 386 return nil 387 } 388 389 func (ref *Reference) GetIUnderlyingParentName() gotenresource.Name { 390 if ref != nil { 391 return ref.Name.GetIUnderlyingParentName() 392 } 393 return nil 394 } 395 396 func (ref *Reference) String() string { 397 if ref == nil { 398 return "<nil>" 399 } 400 return ref.Name.String() 401 } 402 403 // implement methods required by protobuf-go library for string-struct conversion 404 405 func (ref *Reference) ProtoString() (string, error) { 406 if ref == nil { 407 return "", nil 408 } 409 return ref.Name.ProtoString() 410 } 411 412 func (ref *Reference) ParseProtoString(data string) error { 413 parsed, err := ParseReference(data) 414 if err != nil { 415 return err 416 } 417 *ref = *parsed 418 return nil 419 } 420 421 // GotenEqual returns true if other is of same type and paths are equal (implements goten.Equaler interface) 422 func (ref *Reference) GotenEqual(other interface{}) bool { 423 if other == nil { 424 return ref == nil 425 } 426 other1, ok := other.(*Reference) 427 if !ok { 428 other2, ok := other.(Reference) 429 if ok { 430 other1 = &other2 431 } else { 432 return false 433 } 434 } 435 if other1 == nil { 436 return ref == nil 437 } else if ref == nil { 438 return false 439 } 440 441 return ref.Name.GotenEqual(other1.Name) 442 } 443 444 // Matches is same as GotenEqual, but also will accept "other" if name is wildcard. 445 func (name *Reference) Matches(other interface{}) bool { 446 if other == nil { 447 return name == nil 448 } 449 other1, ok := other.(*Reference) 450 if !ok { 451 other2, ok := other.(Reference) 452 if ok { 453 other1 = &other2 454 } else { 455 return false 456 } 457 } 458 if other1 == nil { 459 return name == nil 460 } else if name == nil { 461 return false 462 } 463 return name.Name.Matches(&other1.Name) 464 } 465 466 // implement CustomTypeCliValue method 467 func (ref *Reference) SetFromCliFlag(raw string) error { 468 parsedRef, err := ParseReference(raw) 469 if err != nil { 470 return err 471 } 472 *ref = *parsedRef 473 return nil 474 }