MCPcopy Index your code
hub / github.com/kopia/kopia / setPolicyFromFlags

Method setPolicyFromFlags

cli/command_policy_set.go:96–149  ·  view source on GitHub ↗
(ctx context.Context, p *policy.Policy, changeCount *int)

Source from the content-addressed store, hash-verified

94}
95
96func (c *commandPolicySet) setPolicyFromFlags(ctx context.Context, p *policy.Policy, changeCount *int) error {
97 if err := c.setRetentionPolicyFromFlags(ctx, &p.RetentionPolicy, changeCount); err != nil {
98 return errors.Wrap(err, "retention policy")
99 }
100
101 if err := c.setFilesPolicyFromFlags(ctx, &p.FilesPolicy, changeCount); err != nil {
102 return errors.Wrap(err, "files policy")
103 }
104
105 if err := c.setErrorHandlingPolicyFromFlags(ctx, &p.ErrorHandlingPolicy, changeCount); err != nil {
106 return errors.Wrap(err, "error handling policy")
107 }
108
109 if err := c.setCompressionPolicyFromFlags(ctx, &p.CompressionPolicy, changeCount); err != nil {
110 return errors.Wrap(err, "compression policy")
111 }
112
113 if err := c.setMetadataCompressionPolicyFromFlags(ctx, &p.MetadataCompressionPolicy, changeCount); err != nil {
114 return errors.Wrap(err, "metadata compression policy")
115 }
116
117 if err := c.setSplitterPolicyFromFlags(ctx, &p.SplitterPolicy, changeCount); err != nil {
118 return errors.Wrap(err, "splitter policy")
119 }
120
121 if err := c.setSchedulingPolicyFromFlags(ctx, &p.SchedulingPolicy, changeCount); err != nil {
122 return errors.Wrap(err, "scheduling policy")
123 }
124
125 if err := c.setActionsFromFlags(ctx, &p.Actions, changeCount); err != nil {
126 return errors.Wrap(err, "actions policy")
127 }
128
129 if err := c.setOSSnapshotPolicyFromFlags(ctx, &p.OSSnapshotPolicy, changeCount); err != nil {
130 return errors.Wrap(err, "OS snapshot policy")
131 }
132
133 if err := c.setLoggingPolicyFromFlags(ctx, &p.LoggingPolicy, changeCount); err != nil {
134 return errors.Wrap(err, "actions policy")
135 }
136
137 if err := c.setUploadPolicyFromFlags(ctx, &p.UploadPolicy, changeCount); err != nil {
138 return errors.Wrap(err, "upload policy")
139 }
140
141 // It's not really a list, just optional boolean, last one wins.
142 for _, inherit := range c.inherit {
143 *changeCount++
144
145 p.NoParent = !inherit
146 }
147
148 return nil
149}
150
151func applyPolicyStringList(ctx context.Context, desc string, val *[]string, add, remove []string, clearList bool, changeCount *int) {
152 if clearList {

Callers 1

runMethod · 0.95

Tested by

no test coverage detected