github.com/cloudwan/edgelq-sdk@v1.15.4/devices/resources/v1/provisioning_approval_request/provisioning_approval_request.pb.namebuilder.go (about) 1 // Code generated by protoc-gen-goten-resource 2 // Resource: ProvisioningApprovalRequest 3 // DO NOT EDIT!!! 4 5 package provisioning_approval_request 6 7 import ( 8 gotenresource "github.com/cloudwan/goten-sdk/runtime/resource" 9 ) 10 11 // proto imports 12 import ( 13 provisioning_policy "github.com/cloudwan/edgelq-sdk/devices/resources/v1/provisioning_policy" 14 iam_service_account "github.com/cloudwan/edgelq-sdk/iam/resources/v1/service_account" 15 meta "github.com/cloudwan/goten-sdk/types/meta" 16 ) 17 18 // make sure we're using proto imports 19 var ( 20 _ = &provisioning_policy.ProvisioningPolicy{} 21 _ = &iam_service_account.ServiceAccount{} 22 _ = &meta.Meta{} 23 ) 24 25 const ( 26 NamePattern_Project_Region_ProvisioningPolicy = "projects/{project}/regions/{region}/provisioningPolicies/{provisioning_policy}/provisioningApprovalRequests/{provisioning_approval_request}" 27 ) 28 29 type NamePattern struct { 30 Pattern gotenresource.NamePattern `firestore:"pattern"` 31 } 32 33 type NameBuilder struct { 34 nameObj Name 35 } 36 37 func NewNameBuilder() *NameBuilder { 38 return &NameBuilder{ 39 nameObj: Name{ 40 ProvisioningApprovalRequestId: gotenresource.WildcardId, 41 ParentName: ParentName{ 42 NamePattern: NamePattern{ 43 // Set default pattern - just first. 44 Pattern: NamePattern_Project_Region_ProvisioningPolicy, 45 }, 46 }, 47 }, 48 } 49 } 50 51 func (b *NameBuilder) Name() *Name { 52 copied := b.nameObj 53 return &copied 54 } 55 56 func (b *NameBuilder) Reference() *Reference { 57 return b.nameObj.AsReference() 58 } 59 60 func (b *NameBuilder) Parent() *ParentName { 61 copied := b.nameObj.ParentName 62 return &copied 63 } 64 65 func (b *NameBuilder) ParentReference() *ParentReference { 66 return b.nameObj.ParentName.AsReference() 67 } 68 69 func (b *NameBuilder) SetId(id string) *NameBuilder { 70 b.nameObj.ProvisioningApprovalRequestId = id 71 return b 72 } 73 74 func (b *NameBuilder) SetProvisioningPolicy(parent *provisioning_policy.Name) *NameBuilder { 75 parentName := &b.nameObj.ParentName 76 77 switch parent.Pattern { 78 case provisioning_policy.NamePattern_Project_Region: 79 parentName.Pattern = NamePattern_Project_Region_ProvisioningPolicy 80 } 81 parentName.ProjectId = parent.ProjectId 82 parentName.RegionId = parent.RegionId 83 parentName.ProvisioningPolicyId = parent.ProvisioningPolicyId 84 return b 85 } 86 87 func (b *NameBuilder) SetProjectId(id string) *NameBuilder { 88 parentName := &b.nameObj.ParentName 89 parentName.ProjectId = id 90 91 // Set pattern if something matches for this set of IDs 92 if parentName.ProjectId != "" && parentName.RegionId != "" && parentName.ProvisioningPolicyId != "" { 93 parentName.Pattern = NamePattern_Project_Region_ProvisioningPolicy 94 } 95 return b 96 } 97 98 func (b *NameBuilder) SetRegionId(id string) *NameBuilder { 99 parentName := &b.nameObj.ParentName 100 parentName.RegionId = id 101 102 // Set pattern if something matches for this set of IDs 103 if parentName.ProjectId != "" && parentName.RegionId != "" && parentName.ProvisioningPolicyId != "" { 104 parentName.Pattern = NamePattern_Project_Region_ProvisioningPolicy 105 } 106 return b 107 } 108 109 func (b *NameBuilder) SetProvisioningPolicyId(id string) *NameBuilder { 110 parentName := &b.nameObj.ParentName 111 parentName.ProvisioningPolicyId = id 112 113 // Set pattern if something matches for this set of IDs 114 if parentName.ProjectId != "" && parentName.RegionId != "" && parentName.ProvisioningPolicyId != "" { 115 parentName.Pattern = NamePattern_Project_Region_ProvisioningPolicy 116 } 117 return b 118 }