2167 Commits

Author SHA1 Message Date
dependabot[bot]
bbe6b74247
⬆️ Bump golang.org/x/tools from 0.15.0 to 0.16.0 in /src (#4739)
Bumps [golang.org/x/tools](https://github.com/golang/tools) from 0.15.0 to 0.16.0.
<details>
<summary>Commits</summary>
<ul>
<li><a href="a9ef4cfeac"><code>a9ef4cf</code></a> go.mod: update golang.org/x dependencies</li>
<li><a href="d9b9452656"><code>d9b9452</code></a> gopls/internal/lsp/cache: move quick-fix bundling logic to the cache pkg</li>
<li><a href="1733061d5f"><code>1733061</code></a> go/analysis/passes/testinggoroutine: report by enclosing regions</li>
<li><a href="b19be0fa71"><code>b19be0f</code></a> gopls/internal/cmd/help_test.go: document</li>
<li><a href="daa4aa59ed"><code>daa4aa5</code></a> gopls/internal/lsp/source: stubmethods: fix out-of-bounds index</li>
<li><a href="a586d0db84"><code>a586d0d</code></a> go/types/internal/play: show more types.Scope detail</li>
<li><a href="53ad329bd9"><code>53ad329</code></a> gopls/internal/lsp/source: move edit logic into the protocol package</li>
<li><a href="3c677e3f7d"><code>3c677e3</code></a> gopls/internal/lsp/cache: move SuggestedFixFromCommand into cache</li>
<li><a href="ab6af7d4bb"><code>ab6af7d</code></a> gopls/internal/lsp/source: extract InDir to a new pathutil package</li>
<li><a href="e7d61d9d57"><code>e7d61d9</code></a> gopls/internal/lsp/cache: simplify named error values</li>
<li>Additional commits viewable in <a href="https://github.com/golang/tools/compare/v0.15.0...v0.16.0">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=golang.org/x/tools&package-manager=go_modules&previous-version=0.15.0&new-version=0.16.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

You can trigger a rebase of this PR by commenting `@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>
2023-11-28 14:37:19 +00:00
dependabot[bot]
a76db2de69
⬆️ Bump golang.org/x/time from 0.4.0 to 0.5.0 in /src (#4737)
Bumps [golang.org/x/time](https://github.com/golang/time) from 0.4.0 to 0.5.0.
<details>
<summary>Commits</summary>
<ul>
<li><a href="883aed5197"><code>883aed5</code></a> rate: add documentation on Limiter concurrent usage</li>
<li>See full diff in <a href="https://github.com/golang/time/compare/v0.4.0...v0.5.0">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=golang.org/x/time&package-manager=go_modules&previous-version=0.4.0&new-version=0.5.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

You can trigger a rebase of this PR by commenting `@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>
2023-11-28 09:42:16 +00:00
Abhishek Pandey
b4b24edca9
Add regression tests for drive pagers (#4620)
<!-- PR description-->


Adds regression tests for query params & headers used for delta/non delta requests.  Closes https://github.com/alcionai/corso/issues/4614


---

#### Does this PR need a docs update or release note?

- [ ]  Yes, it's included
- [ ] 🕐 Yes, but in a later PR
- [x]  No

#### Type of change

<!--- Please check the type of change your PR introduces: --->
- [ ] 🌻 Feature
- [ ] 🐛 Bugfix
- [ ] 🗺️ Documentation
- [x] 🤖 Supportability/Tests
- [ ] 💻 CI/Deployment
- [ ] 🧹 Tech Debt/Cleanup

#### Issue(s)

<!-- Can reference multiple issues. Use one of the following "magic words" - "closes, fixes" to auto-close the Github issue. -->
* https://github.com/alcionai/corso/issues/4614

#### Test Plan

<!-- How will this be tested prior to merging.-->
- [ ] 💪 Manual
- [x]  Unit test
- [ ] 💚 E2E
2023-11-27 23:14:13 +00:00
ashmrtn
c48329f844
Return stats directly from restore function (#4713)
Rework restore return status so that later PRs will have a smaller diff

Instead of returning a status and then waiting on the message just return the restore stats directly. The status getter was only setup to wait for one item anyway and was setup to wait after the entire restore operation already completed (at end of
m365/restore.go:ConsumeRestoreCollections())

---

#### Does this PR need a docs update or release note?

- [ ]  Yes, it's included
- [ ] 🕐 Yes, but in a later PR
- [x]  No

#### Type of change

- [ ] 🌻 Feature
- [ ] 🐛 Bugfix
- [ ] 🗺️ Documentation
- [ ] 🤖 Supportability/Tests
- [ ] 💻 CI/Deployment
- [x] 🧹 Tech Debt/Cleanup

#### Issue(s)

* #4254

#### Test Plan

- [ ] 💪 Manual
- [x]  Unit test
- [x] 💚 E2E
2023-11-27 17:09:37 +00:00
dependabot[bot]
37b75bc691
⬆️ Bump github.com/microsoftgraph/msgraph-sdk-go-core from 1.0.0 to 1.0.1 in /src (#4732)
Bumps [github.com/microsoftgraph/msgraph-sdk-go-core](https://github.com/microsoftgraph/msgraph-sdk-go-core) from 1.0.0 to 1.0.1.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/microsoftgraph/msgraph-sdk-go-core/releases">github.com/microsoftgraph/msgraph-sdk-go-core's releases</a>.</em></p>
<blockquote>
<h2>v1.0.1</h2>
<h3>Changed</h3>
<ul>
<li>Fixed a bug where page iterator would panic if it couldn't find the GetValue method on the collection.</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/microsoftgraph/msgraph-sdk-go-core/blob/main/CHANGELOG.md">github.com/microsoftgraph/msgraph-sdk-go-core's changelog</a>.</em></p>
<blockquote>
<h2>[1.0.1] - 2023-11-24</h2>
<h3>Changed</h3>
<ul>
<li>Fixed a bug where page iterator would panic if it couldn't find the GetValue method on the collection.</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="1eda54572b"><code>1eda545</code></a> Merge pull request <a href="https://redirect.github.com/microsoftgraph/msgraph-sdk-go-core/issues/245">#245</a> from manisharma/panic-fix</li>
<li><a href="471e50b4bc"><code>471e50b</code></a> - adds changelog entry for fix</li>
<li><a href="8ebe404a49"><code>8ebe404</code></a> re-stored deleted test setup</li>
<li><a href="d23f107090"><code>d23f107</code></a> unit test for convertToPage</li>
<li><a href="cd0c170455"><code>cd0c170</code></a> method.IsNil() panics and the actual error is never returned</li>
<li><a href="c73cc93da7"><code>c73cc93</code></a> Merge pull request <a href="https://redirect.github.com/microsoftgraph/msgraph-sdk-go-core/issues/244">#244</a> from microsoftgraph/dependabot/go_modules/github.com/...</li>
<li><a href="a801561ec5"><code>a801561</code></a> Bump github.com/microsoft/kiota-http-go from 1.1.0 to 1.1.1</li>
<li><a href="5bc4a3ae59"><code>5bc4a3a</code></a> Merge pull request <a href="https://redirect.github.com/microsoftgraph/msgraph-sdk-go-core/issues/243">#243</a> from microsoftgraph/dependabot/go_modules/github.com/...</li>
<li><a href="f6dfdd8c72"><code>f6dfdd8</code></a> Bump github.com/microsoft/kiota-abstractions-go from 1.5.1 to 1.5.2</li>
<li><a href="114c7fa488"><code>114c7fa</code></a> Merge pull request <a href="https://redirect.github.com/microsoftgraph/msgraph-sdk-go-core/issues/242">#242</a> from microsoftgraph/dependabot/go_modules/github.com/...</li>
<li>Additional commits viewable in <a href="https://github.com/microsoftgraph/msgraph-sdk-go-core/compare/v1.0.0...v1.0.1">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=github.com/microsoftgraph/msgraph-sdk-go-core&package-manager=go_modules&previous-version=1.0.0&new-version=1.0.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

You can trigger a rebase of this PR by commenting `@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>
2023-11-27 10:09:31 +00:00
dependabot[bot]
84ace9668d
⬆️ Bump github.com/microsoft/kiota-abstractions-go from 1.5.2 to 1.5.3 in /src (#4733)
Bumps [github.com/microsoft/kiota-abstractions-go](https://github.com/microsoft/kiota-abstractions-go) from 1.5.2 to 1.5.3.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/microsoft/kiota-abstractions-go/releases">github.com/microsoft/kiota-abstractions-go's releases</a>.</em></p>
<blockquote>
<h2>v1.5.3</h2>
<h3>Added</h3>
<ul>
<li>Added support for multi valued query and path parameters of type other than string. <a href="https://redirect.github.com/microsoft/kiota-abstractions-go/pull/124">#124</a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/microsoft/kiota-abstractions-go/blob/main/CHANGELOG.md">github.com/microsoft/kiota-abstractions-go's changelog</a>.</em></p>
<blockquote>
<h2>[1.5.3] - 2023-11-24</h2>
<h3>Added</h3>
<ul>
<li>Added support for multi valued query and path parameters of type other than string. <a href="https://redirect.github.com/microsoft/kiota-abstractions-go/pull/124">#124</a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="920cc73050"><code>920cc73</code></a> Merge pull request <a href="https://redirect.github.com/microsoft/kiota-abstractions-go/issues/124">#124</a> from papegaaij/fix-int64-slice-query-paramers</li>
<li><a href="de1d6c994c"><code>de1d6c9</code></a> Update changelog</li>
<li><a href="fcaa8a3174"><code>fcaa8a3</code></a> Normalize slices of all types to []any</li>
<li>See full diff in <a href="https://github.com/microsoft/kiota-abstractions-go/compare/v1.5.2...v1.5.3">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=github.com/microsoft/kiota-abstractions-go&package-manager=go_modules&previous-version=1.5.2&new-version=1.5.3)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

You can trigger a rebase of this PR by commenting `@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>
2023-11-27 09:25:00 +00:00
dependabot[bot]
9ec687a0b9
⬆️ Bump github.com/microsoft/kiota-http-go from 1.1.0 to 1.1.1 in /src (#4726)
Bumps [github.com/microsoft/kiota-http-go](https://github.com/microsoft/kiota-http-go) from 1.1.0 to 1.1.1.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/microsoft/kiota-http-go/releases">github.com/microsoft/kiota-http-go's releases</a>.</em></p>
<blockquote>
<h2>v1.1.1</h2>
<h3>Added</h3>
<ul>
<li>Added response headers and status code to returned error in <code>throwIfFailedResponse</code>.</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/microsoft/kiota-http-go/blob/main/CHANGELOG.md">github.com/microsoft/kiota-http-go's changelog</a>.</em></p>
<blockquote>
<h2>[1.1.1] - 2023-11-22</h2>
<h3>Added</h3>
<ul>
<li>Added response headers and status code to returned error in <code>throwIfFailedResponse</code>.</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="390840a931"><code>390840a</code></a> Merge pull request <a href="https://redirect.github.com/microsoft/kiota-http-go/issues/125">#125</a> from NerdJeremia/fix/response-headers-in-returned-error</li>
<li><a href="92d11b6643"><code>92d11b6</code></a> use correct err value</li>
<li><a href="651bf8321b"><code>651bf83</code></a> add response headers and status code to prematurely returned error</li>
<li><a href="f5fbbcd6a3"><code>f5fbbcd</code></a> add response headers and status code to returned error</li>
<li><a href="7176e1cccf"><code>7176e1c</code></a> Merge pull request <a href="https://redirect.github.com/microsoft/kiota-http-go/issues/124">#124</a> from microsoft/dependabot/go_modules/github.com/micro...</li>
<li><a href="296d32a734"><code>296d32a</code></a> Bump github.com/microsoft/kiota-abstractions-go from 1.5.0 to 1.5.1</li>
<li><a href="6cec5c7fde"><code>6cec5c7</code></a> Merge pull request <a href="https://redirect.github.com/microsoft/kiota-http-go/issues/123">#123</a> from microsoft/dependabot/go_modules/go.opentelemetry...</li>
<li><a href="306bc97476"><code>306bc97</code></a> Merge pull request <a href="https://redirect.github.com/microsoft/kiota-http-go/issues/122">#122</a> from microsoft/dependabot/go_modules/go.opentelemetry...</li>
<li><a href="ccf2bedc49"><code>ccf2bed</code></a> Bump go.opentelemetry.io/otel/trace from 1.20.0 to 1.21.0</li>
<li><a href="50c13cf1fa"><code>50c13cf</code></a> Bump go.opentelemetry.io/otel from 1.20.0 to 1.21.0</li>
<li>Additional commits viewable in <a href="https://github.com/microsoft/kiota-http-go/compare/v1.1.0...v1.1.1">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=github.com/microsoft/kiota-http-go&package-manager=go_modules&previous-version=1.1.0&new-version=1.1.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

You can trigger a rebase of this PR by commenting `@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>
2023-11-23 10:33:54 +00:00
Abhishek Pandey
d4519159e7
Move rate limiter reset to defer block (#4722)
Move `ResetLimiter()` call to defer block to ensure that it gets called even if the backup fails. Without this change, any following mailbox backups may get artificially throttled by limiter.

---

#### Does this PR need a docs update or release note?

- [ ]  Yes, it's included
- [ ] 🕐 Yes, but in a later PR
- [x]  No

#### Type of change

<!--- Please check the type of change your PR introduces: --->
- [ ] 🌻 Feature
- [x] 🐛 Bugfix
- [ ] 🗺️ Documentation
- [ ] 🤖 Supportability/Tests
- [ ] 💻 CI/Deployment
- [ ] 🧹 Tech Debt/Cleanup

#### Issue(s)

<!-- Can reference multiple issues. Use one of the following "magic words" - "closes, fixes" to auto-close the Github issue. -->
* #<issue>

#### Test Plan

<!-- How will this be tested prior to merging.-->
- [x] 💪 Manual
- [ ]  Unit test
- [ ] 💚 E2E
2023-11-22 17:02:02 +00:00
dependabot[bot]
cd55325139
⬆️ Bump github.com/minio/minio-go/v7 from 7.0.63 to 7.0.64 in /src (#4718)
Bumps [github.com/minio/minio-go/v7](https://github.com/minio/minio-go) from 7.0.63 to 7.0.64.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/minio/minio-go/releases">github.com/minio/minio-go/v7's releases</a>.</em></p>
<blockquote>
<h2>Bugfix release</h2>
<h2>What's Changed</h2>
<ul>
<li>Added new supported Bucket Event types by <a href="https://github.com/bexsoft"><code>@​bexsoft</code></a> in <a href="https://redirect.github.com/minio/minio-go/pull/1885">minio/minio-go#1885</a></li>
<li>Support External Id and Session Token by <a href="https://github.com/ekristen"><code>@​ekristen</code></a> in <a href="https://redirect.github.com/minio/minio-go/pull/1887">minio/minio-go#1887</a></li>
<li>Link to godoc by <a href="https://github.com/klauspost"><code>@​klauspost</code></a> in <a href="https://redirect.github.com/minio/minio-go/pull/1894">minio/minio-go#1894</a></li>
<li>Bump golang.org/x/net from 0.14.0 to 0.17.0 by <a href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a href="https://redirect.github.com/minio/minio-go/pull/1889">minio/minio-go#1889</a></li>
<li>Bump golang.org/x/net from 0.14.0 to 0.17.0 in /examples/minio by <a href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a href="https://redirect.github.com/minio/minio-go/pull/1888">minio/minio-go#1888</a></li>
<li>Update s3-endpoints.go: add il-central-1 by <a href="https://github.com/emaildanwilson"><code>@​emaildanwilson</code></a> in <a href="https://redirect.github.com/minio/minio-go/pull/1886">minio/minio-go#1886</a></li>
<li>Update the Go Quickstart README by <a href="https://github.com/feorlen"><code>@​feorlen</code></a> in <a href="https://redirect.github.com/minio/minio-go/pull/1896">minio/minio-go#1896</a></li>
<li>Add Expires to PutObject opts by <a href="https://github.com/vadmeste"><code>@​vadmeste</code></a> in <a href="https://redirect.github.com/minio/minio-go/pull/1900">minio/minio-go#1900</a></li>
<li>snowball: Support per object advanced PUT options by <a href="https://github.com/vadmeste"><code>@​vadmeste</code></a> in <a href="https://redirect.github.com/minio/minio-go/pull/1901">minio/minio-go#1901</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/ekristen"><code>@​ekristen</code></a> made their first contribution in <a href="https://redirect.github.com/minio/minio-go/pull/1887">minio/minio-go#1887</a></li>
<li><a href="https://github.com/dependabot"><code>@​dependabot</code></a> made their first contribution in <a href="https://redirect.github.com/minio/minio-go/pull/1889">minio/minio-go#1889</a></li>
<li><a href="https://github.com/emaildanwilson"><code>@​emaildanwilson</code></a> made their first contribution in <a href="https://redirect.github.com/minio/minio-go/pull/1886">minio/minio-go#1886</a></li>
<li><a href="https://github.com/feorlen"><code>@​feorlen</code></a> made their first contribution in <a href="https://redirect.github.com/minio/minio-go/pull/1896">minio/minio-go#1896</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a href="https://github.com/minio/minio-go/compare/v7.0.63...v7.0.64">https://github.com/minio/minio-go/compare/v7.0.63...v7.0.64</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="0108287f5f"><code>0108287</code></a> snowball: Support per object advanced PUT options (<a href="https://redirect.github.com/minio/minio-go/issues/1901">#1901</a>)</li>
<li><a href="6eebdd6d5e"><code>6eebdd6</code></a> Add Expires to PutObject opts (<a href="https://redirect.github.com/minio/minio-go/issues/1900">#1900</a>)</li>
<li><a href="e0b6838500"><code>e0b6838</code></a> Update the Go Quickstart README (<a href="https://redirect.github.com/minio/minio-go/issues/1896">#1896</a>)</li>
<li><a href="4ec0ff83de"><code>4ec0ff8</code></a> Update s3-endpoints.go: add il-central-1 (<a href="https://redirect.github.com/minio/minio-go/issues/1886">#1886</a>)</li>
<li><a href="26ae627fff"><code>26ae627</code></a> Bump golang.org/x/net from 0.14.0 to 0.17.0 in /examples/minio (<a href="https://redirect.github.com/minio/minio-go/issues/1888">#1888</a>)</li>
<li><a href="49fd3d63d2"><code>49fd3d6</code></a> Bump golang.org/x/net from 0.14.0 to 0.17.0 (<a href="https://redirect.github.com/minio/minio-go/issues/1889">#1889</a>)</li>
<li><a href="fbae65cafe"><code>fbae65c</code></a> Link to godoc (<a href="https://redirect.github.com/minio/minio-go/issues/1894">#1894</a>)</li>
<li><a href="4c868ef069"><code>4c868ef</code></a> Support External Id and Session Token (<a href="https://redirect.github.com/minio/minio-go/issues/1887">#1887</a>)</li>
<li><a href="e783c9ba11"><code>e783c9b</code></a> Added new supported Bucket Events types (<a href="https://redirect.github.com/minio/minio-go/issues/1885">#1885</a>)</li>
<li><a href="5aaca534bb"><code>5aaca53</code></a> Update version to next release</li>
<li>See full diff in <a href="https://github.com/minio/minio-go/compare/v7.0.63...v7.0.64">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=github.com/minio/minio-go/v7&package-manager=go_modules&previous-version=7.0.63&new-version=7.0.64)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

You can trigger a rebase of this PR by commenting `@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>
2023-11-21 09:33:47 +00:00
ashmrtn
a777359abe
Add logging like in exchange backup path (#4710)
Log both the given limits and the effective limits so we can figure out if something went wrong.

---

#### Does this PR need a docs update or release note?

- [ ]  Yes, it's included
- [ ] 🕐 Yes, but in a later PR
- [x]  No

#### Type of change

- [ ] 🌻 Feature
- [ ] 🐛 Bugfix
- [ ] 🗺️ Documentation
- [x] 🤖 Supportability/Tests
- [ ] 💻 CI/Deployment
- [ ] 🧹 Tech Debt/Cleanup

#### Test Plan

- [x] 💪 Manual
- [ ]  Unit test
- [ ] 💚 E2E
2023-11-18 06:21:08 +00:00
ashmrtn
fd91d36c91
Standardize naming for preview default limits (#4709)
#### Does this PR need a docs update or release note?

- [ ]  Yes, it's included
- [ ] 🕐 Yes, but in a later PR
- [x]  No

#### Type of change

- [ ] 🌻 Feature
- [ ] 🐛 Bugfix
- [ ] 🗺️ Documentation
- [ ] 🤖 Supportability/Tests
- [ ] 💻 CI/Deployment
- [x] 🧹 Tech Debt/Cleanup

#### Test Plan

- [ ] 💪 Manual
- [x]  Unit test
- [ ] 💚 E2E
2023-11-18 03:43:34 +00:00
ashmrtn
dac4c70f61
Return details from restore function (#4712)
Minor cleanup that will also help reduce diff for future changes.

Instead of taking in a details builder and adding to it during
restore, just create a local details builder and return the built
details to the caller

---

#### Does this PR need a docs update or release note?

- [ ]  Yes, it's included
- [ ] 🕐 Yes, but in a later PR
- [x]  No

#### Type of change

- [ ] 🌻 Feature
- [ ] 🐛 Bugfix
- [ ] 🗺️ Documentation
- [ ] 🤖 Supportability/Tests
- [ ] 💻 CI/Deployment
- [x] 🧹 Tech Debt/Cleanup

#### Issue(s)

* #4254

#### Test Plan

- [ ] 💪 Manual
- [x]  Unit test
- [x] 💚 E2E
2023-11-18 02:23:46 +00:00
ashmrtn
a3fe9d8d2e
Test default drive limits are applied when expected (#4708)
#### Does this PR need a docs update or release note?

- [ ]  Yes, it's included
- [ ] 🕐 Yes, but in a later PR
- [x]  No

#### Type of change

- [ ] 🌻 Feature
- [ ] 🐛 Bugfix
- [ ] 🗺️ Documentation
- [x] 🤖 Supportability/Tests
- [ ] 💻 CI/Deployment
- [ ] 🧹 Tech Debt/Cleanup

#### Test Plan

- [x] 💪 Manual
- [ ]  Unit test
- [ ] 💚 E2E
2023-11-18 01:56:35 +00:00
ashmrtn
bcf290d628
Preview backup for drive-backed services (#4699)
Add logic and tests for preview backups in drive-backed services.
Does slightly change a few of the options for preview backup limits

---

#### Does this PR need a docs update or release note?

- [ ]  Yes, it's included
- [ ] 🕐 Yes, but in a later PR
- [x]  No

#### Type of change

- [x] 🌻 Feature
- [ ] 🐛 Bugfix
- [ ] 🗺️ Documentation
- [ ] 🤖 Supportability/Tests
- [ ] 💻 CI/Deployment
- [ ] 🧹 Tech Debt/Cleanup

#### Test Plan

- [ ] 💪 Manual
- [x]  Unit test
- [ ] 💚 E2E
2023-11-18 00:46:36 +00:00
Keepers
d45842fe5c
add toggle for using the delta tree via cli (#4694)
#### Does this PR need a docs update or release note?

- [x]  No

#### Issue(s)

* #4690

#### Test Plan

- [x]  Unit test
2023-11-18 00:00:58 +00:00
ashmrtn
8cf2c1b294
Cleaner way to disable merge bases during preview (#4711)
Switch to a cleaner way of disabling merge bases when making a preview backup. This sets the flag to not find merge bases instead of finding them and then dropping them.

Manually tested running a backup with `--preview` (local dev flag) and
`--disable-incrementals` and verified in the log that merge bases were
dropped 

---

#### Does this PR need a docs update or release note?

- [ ]  Yes, it's included
- [ ] 🕐 Yes, but in a later PR
- [x]  No

#### Type of change

- [ ] 🌻 Feature
- [ ] 🐛 Bugfix
- [ ] 🗺️ Documentation
- [ ] 🤖 Supportability/Tests
- [ ] 💻 CI/Deployment
- [x] 🧹 Tech Debt/Cleanup

#### Test Plan

- [x] 💪 Manual
- [ ]  Unit test
- [ ] 💚 E2E
2023-11-17 22:05:56 +00:00
Keepers
f4ed4d7250
bump xsync to v3 (#4704)
three changes
1. bumps the xsync package to v3
2. creates a common package for synced maps
3. replaces all xsync MapOf imports with the new common/syncd package.

---

#### Does this PR need a docs update or release note?

- [x]  No

#### Type of change

- [x] 🧹 Tech Debt/Cleanup

#### Test Plan

- [x]  Unit test
- [x] 💚 E2E
2023-11-17 18:57:29 +00:00
dependabot[bot]
0e14ccacc5
⬆️ Bump github.com/fatih/color from 1.15.0 to 1.16.0 in /src (#4707)
Bumps [github.com/fatih/color](https://github.com/fatih/color) from 1.15.0 to 1.16.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/fatih/color/releases">github.com/fatih/color's releases</a>.</em></p>
<blockquote>
<h2>v1.16.0</h2>
<h2>What's Changed</h2>
<ul>
<li>Update dependabot.yml by <a href="https://github.com/ilyabrin"><code>@​ilyabrin</code></a> in <a href="https://redirect.github.com/fatih/color/pull/200">fatih/color#200</a></li>
<li>color: add newline after wrapping text by <a href="https://github.com/fatih"><code>@​fatih</code></a> in <a href="https://redirect.github.com/fatih/color/pull/192">fatih/color#192</a></li>
<li>[Test] Nil check added by <a href="https://github.com/hyunsooda"><code>@​hyunsooda</code></a> in <a href="https://redirect.github.com/fatih/color/pull/203">fatih/color#203</a></li>
<li>fixes <a href="https://redirect.github.com/fatih/color/issues/206">#206</a> (using underline with a different fg color breaks) by <a href="https://github.com/gregpoirson"><code>@​gregpoirson</code></a> in <a href="https://redirect.github.com/fatih/color/pull/210">fatih/color#210</a></li>
</ul>
<h3>Dependency updates</h3>
<ul>
<li>Bump dominikh/staticcheck-action from 1.2.0 to 1.3.0 by <a href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a href="https://redirect.github.com/fatih/color/pull/201">fatih/color#201</a></li>
<li>Bump github.com/mattn/go-isatty from 0.0.17 to 0.0.18 by <a href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a href="https://redirect.github.com/fatih/color/pull/193">fatih/color#193</a></li>
<li>Bump golang.org/x/sys from 0.6.0 to 0.8.0 by <a href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a href="https://redirect.github.com/fatih/color/pull/195">fatih/color#195</a></li>
<li>Bump github.com/mattn/go-isatty from 0.0.18 to 0.0.19 by <a href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a href="https://redirect.github.com/fatih/color/pull/196">fatih/color#196</a></li>
<li>Bump golang.org/x/sys from 0.8.0 to 0.10.0 by <a href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a href="https://redirect.github.com/fatih/color/pull/199">fatih/color#199</a></li>
<li>Bump github.com/mattn/go-isatty from 0.0.19 to 0.0.20 by <a href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a href="https://redirect.github.com/fatih/color/pull/212">fatih/color#212</a></li>
<li>Bump golang.org/x/sys from 0.10.0 to 0.13.0 by <a href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a href="https://redirect.github.com/fatih/color/pull/209">fatih/color#209</a></li>
<li>Bump actions/setup-go from 3 to 4 by <a href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a href="https://redirect.github.com/fatih/color/pull/202">fatih/color#202</a></li>
<li>Bump actions/checkout from 3 to 4 by <a href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a href="https://redirect.github.com/fatih/color/pull/208">fatih/color#208</a></li>
<li>Bump golang.org/x/sys from 0.13.0 to 0.14.0 by <a href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a href="https://redirect.github.com/fatih/color/pull/213">fatih/color#213</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/ilyabrin"><code>@​ilyabrin</code></a> made their first contribution in <a href="https://redirect.github.com/fatih/color/pull/200">fatih/color#200</a></li>
<li><a href="https://github.com/hyunsooda"><code>@​hyunsooda</code></a> made their first contribution in <a href="https://redirect.github.com/fatih/color/pull/203">fatih/color#203</a></li>
<li><a href="https://github.com/gregpoirson"><code>@​gregpoirson</code></a> made their first contribution in <a href="https://redirect.github.com/fatih/color/pull/210">fatih/color#210</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a href="https://github.com/fatih/color/compare/v1.15.0...v1.16.0">https://github.com/fatih/color/compare/v1.15.0...v1.16.0</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="0f9779ed47"><code>0f9779e</code></a> Merge pull request <a href="https://redirect.github.com/fatih/color/issues/213">#213</a> from fatih/dependabot/go_modules/golang.org/x/sys-0.14.0</li>
<li><a href="0c78604296"><code>0c78604</code></a> Bump golang.org/x/sys from 0.13.0 to 0.14.0</li>
<li><a href="96e0f73dae"><code>96e0f73</code></a> Merge pull request <a href="https://redirect.github.com/fatih/color/issues/208">#208</a> from fatih/dependabot/github_actions/actions/checkout-4</li>
<li><a href="4c66e32708"><code>4c66e32</code></a> Bump actions/checkout from 3 to 4</li>
<li><a href="2fb03d682e"><code>2fb03d6</code></a> Merge pull request <a href="https://redirect.github.com/fatih/color/issues/202">#202</a> from fatih/dependabot/github_actions/actions/setup-go-4</li>
<li><a href="8ba7bbdda9"><code>8ba7bbd</code></a> Bump actions/setup-go from 3 to 4</li>
<li><a href="e3f97f3408"><code>e3f97f3</code></a> Merge pull request <a href="https://redirect.github.com/fatih/color/issues/209">#209</a> from fatih/dependabot/go_modules/golang.org/x/sys-0.13.0</li>
<li><a href="e146575883"><code>e146575</code></a> Bump golang.org/x/sys from 0.10.0 to 0.13.0</li>
<li><a href="d2d7a5e448"><code>d2d7a5e</code></a> Merge pull request <a href="https://redirect.github.com/fatih/color/issues/212">#212</a> from fatih/dependabot/go_modules/github.com/mattn/go-...</li>
<li><a href="f3e45da2c8"><code>f3e45da</code></a> Merge branch 'main' into dependabot/go_modules/github.com/mattn/go-isatty-0.0.20</li>
<li>Additional commits viewable in <a href="https://github.com/fatih/color/compare/v1.15.0...v1.16.0">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=github.com/fatih/color&package-manager=go_modules&previous-version=1.15.0&new-version=1.16.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

You can trigger a rebase of this PR by commenting `@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>
2023-11-17 12:17:44 +00:00
ashmrtn
8e978cce37
Improve logging/variable grouping for exchange preview backup (#4705)
Just shuffling some variables and log statements around. No logic or
test changes beyond that

---

#### Does this PR need a docs update or release note?

- [ ]  Yes, it's included
- [ ] 🕐 Yes, but in a later PR
- [x]  No

#### Type of change

- [ ] 🌻 Feature
- [ ] 🐛 Bugfix
- [ ] 🗺️ Documentation
- [x] 🤖 Supportability/Tests
- [ ] 💻 CI/Deployment
- [ ] 🧹 Tech Debt/Cleanup

#### Test Plan

- [ ] 💪 Manual
- [x]  Unit test
- [ ] 💚 E2E
2023-11-17 03:48:53 +00:00
Abhishek Pandey
0fcbf75f6f
Add connection timeout retries to item retry handler (#4706)
We were missing a retry for connection timeout issues. Adding it.

---

#### Does this PR need a docs update or release note?

- [x]  Yes, it's included
- [ ] 🕐 Yes, but in a later PR
- [ ]  No

#### Type of change

<!--- Please check the type of change your PR introduces: --->
- [ ] 🌻 Feature
- [x] 🐛 Bugfix
- [ ] 🗺️ Documentation
- [ ] 🤖 Supportability/Tests
- [ ] 💻 CI/Deployment
- [ ] 🧹 Tech Debt/Cleanup

#### Issue(s)

<!-- Can reference multiple issues. Use one of the following "magic words" - "closes, fixes" to auto-close the Github issue. -->
* #<issue>

#### Test Plan

<!-- How will this be tested prior to merging.-->
- [ ] 💪 Manual
- [x]  Unit test
- [ ] 💚 E2E
2023-11-17 02:13:16 +00:00
ashmrtn
957a33b6d9
Finish wiring up Exchange preview backups (#4660)
This completes the wiring for Exchange preview backups. A few notable
points:
* Adds new config substruct(?) for limits on items/data
* Adds "reasonable defaults" (very small) for Exchange data categories
* Adds "important" and "skip" containers for Exchange data categories

All the above can be tweaked as we determine what values work best

Manually tested
1. regular backup
2. preview backup
3. regular backup

Verified that no merge base is used for the preview backup and the
merge base made in (1) is used for the backup in (3)

This feature is not exposed via CLI

May be easiest to review by commit

---

#### Does this PR need a docs update or release note?

- [ ]  Yes, it's included
- [ ] 🕐 Yes, but in a later PR
- [x]  No

#### Type of change

- [x] 🌻 Feature
- [ ] 🐛 Bugfix
- [ ] 🗺️ Documentation
- [ ] 🤖 Supportability/Tests
- [ ] 💻 CI/Deployment
- [ ] 🧹 Tech Debt/Cleanup

#### Issues

Merge after:
* #4657
* #4607

#### Test Plan

- [x] 💪 Manual
- [x]  Unit test
- [ ] 💚 E2E
2023-11-17 01:46:17 +00:00
Keepers
963d78b75e
move service api to client methods (#4701)
sdk consumers need a way to configure the graph api client options when using the services api.  This is the first in a two-part change to expose those options.  This step moves the api to a client-based set of methods instead of free functions.  The next step will add client configuration to the service client.

---

#### Does this PR need a docs update or release note?

- [x] 🕐 Yes, but in a later PR

#### Type of change

- [x] 🌻 Feature

#### Test Plan

- [x] 💚 E2E
2023-11-17 01:03:57 +00:00
Keepers
2a85b61213
clean up unused graph error sentinels (#4683)
A handful of the error sentinel values in graph/errors.go were only around to comply with an old expectation that IsErr funcs have a matching sentinel.  That assumption is out of date, and there's no point in keeping around unused sentinels.

This PR makes three changes to clean up that issue:
1. remove unused sentinels (unused is qualifed as "not produced").
2. fix external pacakges which referenced those errors in tests alone by replacing those sentinels with odata errors.
3. centralize odata error test code to help support upstream package odata error creation.

---

#### Does this PR need a docs update or release note?

- [x]  No

#### Type of change

- [x] 🧹 Tech Debt/Cleanup

#### Test Plan

- [x]  Unit test
- [x] 💚 E2E
2023-11-16 23:59:38 +00:00
Keepers
9ecefd2569
use counter in exchange backup enum (#4661)
Increase proliferation of the count bus to record runtime stats.

---

#### Does this PR need a docs update or release note?

- [x]  No

#### Type of change

- [x] 🤖 Supportability/Tests

#### Test Plan

- [x]  Unit test
- [x] 💚 E2E
2023-11-16 23:22:00 +00:00
ashmrtn
7a21424ca7
Minor cleanup for drive backup code (#4698)
Just a few minor updates to stats logic to reset the counters if the delta is reset and also only count items if they weren't previously seen and counted.

---

#### Does this PR need a docs update or release note?

- [ ]  Yes, it's included
- [ ] 🕐 Yes, but in a later PR
- [x]  No

#### Type of change

- [x] 🌻 Feature
- [ ] 🐛 Bugfix
- [ ] 🗺️ Documentation
- [ ] 🤖 Supportability/Tests
- [ ] 💻 CI/Deployment
- [ ] 🧹 Tech Debt/Cleanup

#### Test Plan

- [x] 💪 Manual
- [ ]  Unit test
- [ ] 💚 E2E
2023-11-16 20:14:31 +00:00
ashmrtn
1cbabdb73a
Exchange restore service level handler functions (#4693)
Add service-level restore handlers for exchange

---

#### Does this PR need a docs update or release note?

- [ ]  Yes, it's included
- [ ] 🕐 Yes, but in a later PR
- [x]  No

#### Type of change

- [ ] 🌻 Feature
- [ ] 🐛 Bugfix
- [ ] 🗺️ Documentation
- [ ] 🤖 Supportability/Tests
- [ ] 💻 CI/Deployment
- [x] 🧹 Tech Debt/Cleanup

#### Issue(s)

* #4254

merge after:
* #4687
* #4651

#### Test Plan

- [ ] 💪 Manual
- [x]  Unit test
- [ ] 💚 E2E
2023-11-16 18:22:33 +00:00
Abin Simon
68256cf59f
Change printing of backup stats to single line (#4526)
Previously we were printing a table for a single item which, for one
was unnecessary, but this also make the output of a backup more
compact.

Before:

```
Logging to file: /home/meain/.cache/corso/logs/2023-10-20T10-21-23Z.log
Connecting to M365                               done
Connecting to repository                      1s done

Backing Up ∙ Teams Testing (meain)
Discovering items to backup                  27s done
    Libraries (TeamsTestingmeain)                  done (found 0 items)
    Libraries (TeamsTestingmeain-Shared0)          done (found 0 items)
    Libraries (TeamsTestingmeain-Private2)         done (found 0 items)
    Messages                                    7s done (found 6 channels)
Backing up data                               7s done
Backup complete ∙ 7b40dd40-f808-4d57-8e39-b4553e48dc5d
    ID                                    Bytes Uploaded  Items Uploaded  Items Skipped  Errors
    7b40dd40-f808-4d57-8e39-b4553e48dc5d  0 B             0               0              0

Completed Backups:
    ID                                    Started At            Duration       Status     Resource Owner
    7b40dd40-f808-4d57-8e39-b4553e48dc5d  2023-10-20T10:21:32Z  36.632747912s  Completed  Teams Testing (meain)
```

After:
```
Connecting to M365                               done
Connecting to repository                      1s done

Backing Up ∙ Teams Testing (meain)
Discovering items to backup                  31s done
    Libraries (TeamsTestingmeain)                  done (found 0 items)
    Libraries (TeamsTestingmeain-Shared0)          done (found 0 items)
    Libraries (TeamsTestingmeain-Private2)         done (found 0 items)
    Messages                                    9s done (found 6 channels)
Backing up data                               7s done
Backup complete ∙ ffb2f619-1cb7-4a11-b3e2-7300aa513c6a
Bytes Uploaded: 0 B | Items Uploaded: 0 | Items Skipped: 0 | Errors: 0

Completed Backups:
    ID                                    ID                    Started At     Duration   Status                 Resource Owner
    ffb2f619-1cb7-4a11-b3e2-7300aa513c6a  2023-10-20T10:23:35Z  40.096203016s  Completed  Teams Testing (meain)
```


---

#### Does this PR need a docs update or release note?

- [x]  Yes, it's included
- [ ] 🕐 Yes, but in a later PR
- [ ]  No

#### Type of change

<!--- Please check the type of change your PR introduces: --->
- [x] 🌻 Feature
- [ ] 🐛 Bugfix
- [ ] 🗺️ Documentation
- [ ] 🤖 Supportability/Tests
- [ ] 💻 CI/Deployment
- [ ] 🧹 Tech Debt/Cleanup

#### Issue(s)

<!-- Can reference multiple issues. Use one of the following "magic words" - "closes, fixes" to auto-close the Github issue. -->
* #<issue>

#### Test Plan

<!-- How will this be tested prior to merging.-->
- [ ] 💪 Manual
- [x]  Unit test
- [ ] 💚 E2E
2023-11-16 12:43:27 +00:00
Abin Simon
b46f242bc4
Make the cli colorful and informational (#4525)
This commit include a few things that improves the progresbars and other info messages are printed out during the CLI run.

![2023-10-20-17-17-09](https://github.com/alcionai/corso/assets/14259816/30a25832-24cb-48ef-944d-6aaced1cd62f)

---

#### Does this PR need a docs update or release note?

- [ ]  Yes, it's included
- [x] 🕐 Yes, but in a later PR
- [ ]  No

#### Type of change

<!--- Please check the type of change your PR introduces: --->
- [x] 🌻 Feature
- [ ] 🐛 Bugfix
- [ ] 🗺️ Documentation
- [ ] 🤖 Supportability/Tests
- [ ] 💻 CI/Deployment
- [ ] 🧹 Tech Debt/Cleanup

#### Issue(s)

<!-- Can reference multiple issues. Use one of the following "magic words" - "closes, fixes" to auto-close the Github issue. -->
* #<issue>

#### Test Plan

<!-- How will this be tested prior to merging.-->
- [x] 💪 Manual
- [ ]  Unit test
- [ ] 💚 E2E
2023-11-16 12:11:37 +00:00
Abhishek Pandey
f2102e55f6
Integrate sliding window limiter into exchange backup operation (#4680)
<!-- PR description-->

2nd last PR in the chain. Wires up the new sliding limiter into exchange backup create flows. I'll add some e2e regression tests to wrap it up.

---

#### Does this PR need a docs update or release note?

- [ ]  Yes, it's included
- [x] 🕐 Yes, but in a later PR
- [ ]  No

#### Type of change

<!--- Please check the type of change your PR introduces: --->
- [x] 🌻 Feature
- [ ] 🐛 Bugfix
- [ ] 🗺️ Documentation
- [ ] 🤖 Supportability/Tests
- [ ] 💻 CI/Deployment
- [ ] 🧹 Tech Debt/Cleanup

#### Issue(s)

<!-- Can reference multiple issues. Use one of the following "magic words" - "closes, fixes" to auto-close the Github issue. -->
* #<issue>

#### Test Plan

<!-- How will this be tested prior to merging.-->
- [ ] 💪 Manual
- [x]  Unit test
- [ ] 💚 E2E
2023-11-16 09:58:00 +00:00
Abin Simon
dfea154cfe
Imrpove message -> eml conversion (#4651)
<!-- PR description-->

---

#### Does this PR need a docs update or release note?

- [ ]  Yes, it's included
- [ ] 🕐 Yes, but in a later PR
- [x]  No

#### Type of change

<!--- Please check the type of change your PR introduces: --->
- [ ] 🌻 Feature
- [x] 🐛 Bugfix
- [ ] 🗺️ Documentation
- [ ] 🤖 Supportability/Tests
- [ ] 💻 CI/Deployment
- [ ] 🧹 Tech Debt/Cleanup

#### Issue(s)

<!-- Can reference multiple issues. Use one of the following "magic words" - "closes, fixes" to auto-close the Github issue. -->
* #<issue>

#### Test Plan

<!-- How will this be tested prior to merging.-->
- [ ] 💪 Manual
- [x]  Unit test
- [ ] 💚 E2E
2023-11-16 07:39:34 +00:00
Abin Simon
c3b7246ee9
Improvements and tests for eml conversion (#4644)
<!-- PR description-->

---

#### Does this PR need a docs update or release note?

- [ ]  Yes, it's included
- [x] 🕐 Yes, but in a later PR
- [ ]  No

#### Type of change

<!--- Please check the type of change your PR introduces: --->
- [ ] 🌻 Feature
- [ ] 🐛 Bugfix
- [ ] 🗺️ Documentation
- [x] 🤖 Supportability/Tests
- [ ] 💻 CI/Deployment
- [ ] 🧹 Tech Debt/Cleanup

#### Issue(s)

<!-- Can reference multiple issues. Use one of the following "magic words" - "closes, fixes" to auto-close the Github issue. -->
* https://github.com/alcionai/corso/issues/3893

#### Test Plan

<!-- How will this be tested prior to merging.-->
- [ ] 💪 Manual
- [x]  Unit test
- [ ] 💚 E2E
2023-11-16 07:03:36 +00:00
Abin Simon
576b8b6370
Debug CLI for msg to eml conversion (#4643)
<!-- PR description-->

---

#### Does this PR need a docs update or release note?

- [ ]  Yes, it's included
- [ ] 🕐 Yes, but in a later PR
- [x]  No

#### Type of change

<!--- Please check the type of change your PR introduces: --->
- [ ] 🌻 Feature
- [ ] 🐛 Bugfix
- [ ] 🗺️ Documentation
- [x] 🤖 Supportability/Tests
- [ ] 💻 CI/Deployment
- [ ] 🧹 Tech Debt/Cleanup

#### Issue(s)

<!-- Can reference multiple issues. Use one of the following "magic words" - "closes, fixes" to auto-close the Github issue. -->
* https://github.com/alcionai/corso/issues/3893

#### Test Plan

<!-- How will this be tested prior to merging.-->
- [ ] 💪 Manual
- [ ]  Unit test
- [ ] 💚 E2E
2023-11-16 06:28:28 +00:00
Abin Simon
140402361a
Add support for email exports (#4642)
<!-- PR description-->

---

#### Does this PR need a docs update or release note?

- [ ]  Yes, it's included
- [x] 🕐 Yes, but in a later PR
- [ ]  No

#### Type of change

<!--- Please check the type of change your PR introduces: --->
- [x] 🌻 Feature
- [ ] 🐛 Bugfix
- [ ] 🗺️ Documentation
- [ ] 🤖 Supportability/Tests
- [ ] 💻 CI/Deployment
- [ ] 🧹 Tech Debt/Cleanup

#### Issue(s)

<!-- Can reference multiple issues. Use one of the following "magic words" - "closes, fixes" to auto-close the Github issue. -->
* https://github.com/alcionai/corso/issues/3893

#### Test Plan

<!-- How will this be tested prior to merging.-->
- [ ] 💪 Manual
- [x]  Unit test
- [ ] 💚 E2E
2023-11-16 05:43:05 +00:00
Abin Simon
fd9c431bea
Add cli for exchange export (#4641)
<!-- PR description-->

---

#### Does this PR need a docs update or release note?

- [ ]  Yes, it's included
- [x] 🕐 Yes, but in a later PR
- [ ]  No

#### Type of change

<!--- Please check the type of change your PR introduces: --->
- [x] 🌻 Feature
- [ ] 🐛 Bugfix
- [ ] 🗺️ Documentation
- [ ] 🤖 Supportability/Tests
- [ ] 💻 CI/Deployment
- [ ] 🧹 Tech Debt/Cleanup

#### Issue(s)

<!-- Can reference multiple issues. Use one of the following "magic words" - "closes, fixes" to auto-close the Github issue. -->
* https://github.com/alcionai/corso/issues/3893

#### Test Plan

<!-- How will this be tested prior to merging.-->
- [ ] 💪 Manual
- [x]  Unit test
- [ ] 💚 E2E
2023-11-16 04:53:16 +00:00
Abin Simon
2dfe22dd0c
Converter for msg to eml (#4640)
Add logic to convert from msg(backup available in corso) to eml

---

#### Does this PR need a docs update or release note?

- [ ]  Yes, it's included
- [ ] 🕐 Yes, but in a later PR
- [x]  No

#### Type of change

<!--- Please check the type of change your PR introduces: --->
- [x] 🌻 Feature
- [ ] 🐛 Bugfix
- [ ] 🗺️ Documentation
- [ ] 🤖 Supportability/Tests
- [ ] 💻 CI/Deployment
- [ ] 🧹 Tech Debt/Cleanup

#### Issue(s)

<!-- Can reference multiple issues. Use one of the following "magic words" - "closes, fixes" to auto-close the Github issue. -->
* https://github.com/alcionai/corso/issues/3893

#### Test Plan

<!-- How will this be tested prior to merging.-->
- [ ] 💪 Manual
- [x]  Unit test
- [ ] 💚 E2E
2023-11-16 04:23:04 +00:00
Abhishek Pandey
6bc80ca3be
Move rate limiter ctx binding to backup operation scope (#4679)
Currently we specify the service to rate limiter type bindings in `ProduceBackupCollections`. This means we lose the binding during `ConsumeBackupCollections` and default to using the exchange token bucket limiter for all services. Onedrive & SP are an exception here since we bind again during `streamItems`. 

This PR moves the binding call one level above, to `do` scope so that the same bindings stay applied for the entirety of the backup op.

Note: This change has a slight side effect on integration tests which directly test `ProduceBackupCollections`. We'll default to using exchange token bucket limiter for such integ tests for all services. This shouldn't impact test runs too much since exch limts(16 per sec) or upto 1160 per min are still pretty good compared to 1200 per min for onedrive. Also, since these tests are short running & won't be doing a load test, we should be fine here.

If there is an objection, I can add rate limiter bindings manually for these `ProduceBackupCollections` tests. 

---

#### Does this PR need a docs update or release note?

- [ ]  Yes, it's included
- [ ] 🕐 Yes, but in a later PR
- [x]  No

#### Type of change

<!--- Please check the type of change your PR introduces: --->
- [ ] 🌻 Feature
- [ ] 🐛 Bugfix
- [ ] 🗺️ Documentation
- [ ] 🤖 Supportability/Tests
- [ ] 💻 CI/Deployment
- [x] 🧹 Tech Debt/Cleanup

#### Issue(s)

<!-- Can reference multiple issues. Use one of the following "magic words" - "closes, fixes" to auto-close the Github issue. -->
* #<issue>

#### Test Plan

<!-- How will this be tested prior to merging.-->
- [x] 💪 Manual
- [ ]  Unit test
- [ ] 💚 E2E
2023-11-16 03:49:48 +00:00
ashmrtn
51f44c2988
Add functions used for restore to existing service-level handlers (#4687)
This continues the push towards having service-level handlers that know
how to perform different operations. It adds the helper functions that
will be used during restore operations to the existing handler code

This logic is not currently used nor does this PR change the restore
call path

---

#### Does this PR need a docs update or release note?

- [ ]  Yes, it's included
- [ ] 🕐 Yes, but in a later PR
- [x]  No

#### Type of change

- [ ] 🌻 Feature
- [ ] 🐛 Bugfix
- [ ] 🗺️ Documentation
- [ ] 🤖 Supportability/Tests
- [ ] 💻 CI/Deployment
- [x] 🧹 Tech Debt/Cleanup

#### Issue(s)

* #4254

#### Test Plan

- [ ] 💪 Manual
- [x]  Unit test
- [ ] 💚 E2E
2023-11-16 02:48:54 +00:00
Keepers
dbdd3f236c
add delta tree (#4692)
introduces the delta tree in drive collections

---

#### Does this PR need a docs update or release note?

- [x]  No

#### Issue(s)

* #4689

#### Test Plan

- [x]  Unit test
2023-11-16 02:16:00 +00:00
Keepers
6fe6c9586d
retry item downloads on invalid token error (#4671)
this is an alternative possible response from graph api when the client is updating the token in-flight.  We normally catch this for item downloads, but are defaulting on permission downloads.

---

#### Does this PR need a docs update or release note?

- [x]  Yes, it's included

#### Type of change

- [x] 🐛 Bugfix


#### Test Plan

- [x]  Unit test
- [x] 💚 E2E
2023-11-16 01:46:34 +00:00
ashmrtn
cb4a8cb5c7
Use microsecond granularity for exchange tests (#4695)
Switch the folder name granularity to microseconds instead of seconds to avoid collisions with other concurrent CI test runs.

---

#### Does this PR need a docs update or release note?

- [ ]  Yes, it's included
- [ ] 🕐 Yes, but in a later PR
- [x]  No

#### Type of change

- [ ] 🌻 Feature
- [ ] 🐛 Bugfix
- [ ] 🗺️ Documentation
- [ ] 🤖 Supportability/Tests
- [x] 💻 CI/Deployment
- [ ] 🧹 Tech Debt/Cleanup

#### Test Plan

- [x] 💪 Manual
- [ ]  Unit test
- [ ] 💚 E2E
2023-11-16 01:06:59 +00:00
Abhishek Pandey
ff5d83c723
Move various limiter types behind a common interface (#4678)
Move the token bucket limiter (`rate.Limiter`) package behind a corso owned `Limiter` interface. This allows callers to request tokens without knowing what type of limiter they are waiting on.


---

#### Does this PR need a docs update or release note?

- [ ]  Yes, it's included
- [ ] 🕐 Yes, but in a later PR
- [x]  No

#### Type of change

<!--- Please check the type of change your PR introduces: --->
- [ ] 🌻 Feature
- [ ] 🐛 Bugfix
- [ ] 🗺️ Documentation
- [ ] 🤖 Supportability/Tests
- [ ] 💻 CI/Deployment
- [x] 🧹 Tech Debt/Cleanup

#### Issue(s)

<!-- Can reference multiple issues. Use one of the following "magic words" - "closes, fixes" to auto-close the Github issue. -->
* #<issue>

#### Test Plan

<!-- How will this be tested prior to merging.-->
- [ ] 💪 Manual
- [x]  Unit test
- [ ] 💚 E2E
2023-11-16 00:13:34 +00:00
Keepers
4c72e9eab7
use clues new|wrap|stackWC() (#4684)
replace all cases of new|wrap|stack(...).WithClues(ctx) with the flattened new|wrap|stackWC(ctx, ...) functions introduced in the latest clues bump.

Other changes added:
* remove WithClues builders when the error producer already called it.
* corrected some usages of ictx within loops.

no logic changes, just cleanup.

---

#### Does this PR need a docs update or release note?

- [x]  No

#### Type of change

- [x] 🧹 Tech Debt/Cleanup

#### Test Plan

- [x]  Unit test
- [x] 💚 E2E
2023-11-15 23:01:08 +00:00
ashmrtn
ea2bf19bd1
Wire up config for pager result limit (#4657)
Allow callers of GetAddedRemovedItems to set the number of added items
they'd like returned from the call. Will eventually be leveraged for
Exchange preview backups

Doesn't change existing limits for pagers since everything uses the
default of zero for "get everything"

---

#### Does this PR need a docs update or release note?

- [ ]  Yes, it's included
- [ ] 🕐 Yes, but in a later PR
- [x]  No

#### Type of change

- [x] 🌻 Feature
- [ ] 🐛 Bugfix
- [ ] 🗺️ Documentation
- [ ] 🤖 Supportability/Tests
- [ ] 💻 CI/Deployment
- [ ] 🧹 Tech Debt/Cleanup

#### Test Plan

- [x] 💪 Manual
- [ ]  Unit test
- [ ] 💚 E2E
2023-11-15 22:33:07 +00:00
Abhishek Pandey
71b0831c7b
Add a control option to disable sliding window limiter (#4676)
<!-- PR description-->

Add a killswitch for sliding window limiter.  This is only relevant for exchange backups  Setting this flag switches exchange backups to use the default token bucket rate limiter.

---

#### Does this PR need a docs update or release note?

- [ ]  Yes, it's included
- [ ] 🕐 Yes, but in a later PR
- [x]  No

#### Type of change

<!--- Please check the type of change your PR introduces: --->
- [ ] 🌻 Feature
- [ ] 🐛 Bugfix
- [ ] 🗺️ Documentation
- [x] 🤖 Supportability/Tests
- [ ] 💻 CI/Deployment
- [ ] 🧹 Tech Debt/Cleanup

#### Issue(s)

<!-- Can reference multiple issues. Use one of the following "magic words" - "closes, fixes" to auto-close the Github issue. -->
* #<issue>

#### Test Plan

<!-- How will this be tested prior to merging.-->
- [ ] 💪 Manual
- [x]  Unit test
- [ ] 💚 E2E
2023-11-15 21:54:46 +00:00
Abhishek Pandey
bc9d258ca0
Add WaitN support to limiter (#4675)
Adds `WaitN` support in sliding window limiter. WaitN blocks the request until all N tokens are acquired.  It addresses a concern raised [here](https://github.com/alcionai/corso/pull/4636#discussion_r1389686910) in an earlier `WaitN` implementation by ensuring that all N tokens get served to each request atomically. 

---

#### Does this PR need a docs update or release note?

- [ ]  Yes, it's included
- [x] 🕐 Yes, but in a later PR
- [ ]  No

#### Type of change

<!--- Please check the type of change your PR introduces: --->
- [x] 🌻 Feature
- [ ] 🐛 Bugfix
- [ ] 🗺️ Documentation
- [ ] 🤖 Supportability/Tests
- [ ] 💻 CI/Deployment
- [ ] 🧹 Tech Debt/Cleanup

#### Issue(s)

<!-- Can reference multiple issues. Use one of the following "magic words" - "closes, fixes" to auto-close the Github issue. -->
* #<issue>

#### Test Plan

<!-- How will this be tested prior to merging.-->
- [ ] 💪 Manual
- [x]  Unit test
- [ ] 💚 E2E
2023-11-15 17:55:17 +00:00
Keepers
551bfd2b13
minor test enhancement (#4530)
#### Does this PR need a docs update or release note?

- [x]  No

#### Type of change

- [x] 🧹 Tech Debt/Cleanup
2023-11-15 17:21:10 +00:00
Keepers
0294e27f2f
bump clues to latest (#4682)
#### Does this PR need a docs update or release note?

- [x]  No

#### Type of change

- [x] 🤖 Supportability/Tests
2023-11-15 01:16:11 +00:00
Abhishek Pandey
2e6cb20a59
Add limiter reset functionality (#4674)
This PR adds `Reset` support to limiter. In summary, it provides 2 things:
1. It resets limiter state & refills tokens to original capacity.
2. Reset is transparent to request senders, they can continue to call `Wait` even when reset is in progress. This is done using a new request level lock. It'll be useful towards `WaitN` implementation as well in a following PR. 

Reason for adding `Reset`:
1. Corso CLI supports backing up the entire tenant. Since exchange service limits are defined on a per app per mailbox basis, if we don't reset the sliding window limiter in between  n exchange resources, it'll artificially slow down n-1 resource backups. 
2. This is because sliding window limiter front allows front loading the requests. This is not a big problem with token bucket limiter, since it refills tokens at a constant rate of 16 per second. 
3. Ideally the rate limiter instance should be scoped to an exchange mailbox, and no `Reset` should be required. However, this would need some major refactoring of graph controller. Currently we use global rate limiter instances, and also the graph controller stays common for all resource backup operations. `Reset` allows us to keep using the global approach. 

---

#### Does this PR need a docs update or release note?

- [ ]  Yes, it's included
- [x] 🕐 Yes, but in a later PR
- [ ]  No

#### Type of change

<!--- Please check the type of change your PR introduces: --->
- [x] 🌻 Feature
- [ ] 🐛 Bugfix
- [ ] 🗺️ Documentation
- [ ] 🤖 Supportability/Tests
- [ ] 💻 CI/Deployment
- [ ] 🧹 Tech Debt/Cleanup

#### Issue(s)

<!-- Can reference multiple issues. Use one of the following "magic words" - "closes, fixes" to auto-close the Github issue. -->
* #<issue>

#### Test Plan

<!-- How will this be tested prior to merging.-->
- [ ] 💪 Manual
- [x]  Unit test
- [ ] 💚 E2E
2023-11-14 22:18:34 +00:00
dependabot[bot]
65d0ba425c
⬆️ Bump github.com/microsoftgraph/msgraph-sdk-go from 1.24.0 to 1.25.0 in /src (#4668)
Bumps [github.com/microsoftgraph/msgraph-sdk-go](https://github.com/microsoftgraph/msgraph-sdk-go) from 1.24.0 to 1.25.0.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/microsoftgraph/msgraph-sdk-go/blob/main/CHANGELOG.md">github.com/microsoftgraph/msgraph-sdk-go's changelog</a>.</em></p>
<blockquote>
<h2>[1.25.0]- 2023-11-10</h2>
<ul>
<li>Weekly generation.</li>
</ul>
<h3>Changed</h3>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="b8836a2f64"><code>b8836a2</code></a> Generated  models and request builders (<a href="https://redirect.github.com/microsoftgraph/msgraph-sdk-go/issues/615">#615</a>)</li>
<li><a href="c301b8df9d"><code>c301b8d</code></a> Merge pull request <a href="https://redirect.github.com/microsoftgraph/msgraph-sdk-go/issues/614">#614</a> from microsoftgraph/dependabot/go_modules/github.com/...</li>
<li><a href="2795816d4d"><code>2795816</code></a> Bump github.com/Azure/azure-sdk-for-go/sdk/azcore from 1.8.0 to 1.9.0</li>
<li><a href="46ca257d24"><code>46ca257</code></a> Merge pull request <a href="https://redirect.github.com/microsoftgraph/msgraph-sdk-go/issues/610">#610</a> from microsoftgraph/dependabot/go_modules/github.com/...</li>
<li><a href="89106cfe7a"><code>89106cf</code></a> Bump github.com/microsoft/kiota-abstractions-go from 1.3.1 to 1.4.0</li>
<li><a href="9f7263506f"><code>9f72635</code></a> Merge pull request <a href="https://redirect.github.com/microsoftgraph/msgraph-sdk-go/issues/607">#607</a> from microsoftgraph/dependabot/go_modules/github.com/...</li>
<li><a href="eb710f57dc"><code>eb710f5</code></a> Bump github.com/microsoft/kiota-abstractions-go from 1.3.0 to 1.3.1</li>
<li>See full diff in <a href="https://github.com/microsoftgraph/msgraph-sdk-go/compare/v1.24.0...v1.25.0">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=github.com/microsoftgraph/msgraph-sdk-go&package-manager=go_modules&previous-version=1.24.0&new-version=1.25.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

You can trigger a rebase of this PR by commenting `@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>
2023-11-14 21:27:16 +00:00
ashmrtn
e85e33c58e
Create a ContainerResolver that returns items in priority order (#4607)
Wrapper for existing graph.ContainerResolver structs that returns items
in priority order in the Items() function. Also has logic to filter out
containers if desired

This can help with things like preview backups where we only want to
backup a subset of items because it allows us to ensure we'll see the
containers we care about most first

---

#### Does this PR need a docs update or release note?

- [ ]  Yes, it's included
- [ ] 🕐 Yes, but in a later PR
- [x]  No

#### Type of change

- [x] 🌻 Feature
- [ ] 🐛 Bugfix
- [ ] 🗺️ Documentation
- [ ] 🤖 Supportability/Tests
- [ ] 💻 CI/Deployment
- [ ] 🧹 Tech Debt/Cleanup

#### Test Plan

- [ ] 💪 Manual
- [x]  Unit test
- [ ] 💚 E2E
2023-11-14 20:42:36 +00:00