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